赞
踩
今天我们运用我们所学的知识,写一个案例,进一步对所学知识进行熟悉!
# 首先定义一个空的列表 num = [] # 然后for循环遍历1-200之间的所有数 for i in range(1, 201): # 然后再用for循环遍历2到i之间的所有数 # 因为1肯定可以被任何数整除,所以我们从2开始 # 然后range方法是左开右闭所以我们选择2到i,但是不包括i # 把比i小的数都除一遍 for temp in range(2, i): # 然后用if进行判断 # 当i除于temp取余等于0的话 if i % temp == 0: # 那么说明,在2到i之间还有数可以被整除,则不是素数了,跳出循环 break else: # 反之,则把i添加到上面我们定义好的空列表中去 num.append(i) print(num) # 对列表输出进行查看 # 定义一个变量让它等于0 ret = 0 # for循环遍历列表 for i in num: # 进行相加 ret += i # 最后输出列表相加的和值 print(ret)
# 首先我们导入高阶函数reduce需要的包 import functools # 然后利用列表推导式把1-200的所有数放到一个列表中 num = [i for i in range(1, 201)] # 定义一个函数 def fun(x): # for循环遍历2到x之间的数 # x 代表高阶函数中传入函数的序列 for temp in range(2, x): # 利用if 进行判断 # 如果取余等于0的话 # 那么该数就不是素数 if x % temp == 0: # 返回一个 False return False else: # 反之,返回一个 True return True # 利用高阶函数filter进行过滤,过滤掉不是素数的数 ret = filter(fun, num) # 然后利用匿名函数和高阶函数reduce进行累计求和 res = functools.reduce(lambda x, y: x + y, list(ret)) # 得出最后的结果 print(res)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。