此专栏是希望通过各种小练习来增强python的知识运用,会不断更新。有同样需求的小伙伴可以实时关注,一起进步。
你行你上,话不多说,直接上题。
问题:
输入一个整数n,统计1~n之间的奇数和。你有几种办法实现?
注意:不限知识点,不限代码量,只要你能想到的,最后我们来看看谁的方法更简洁更好用。
Stop! 先自己写,再往下看
确定想完所有的方法了嘛?
再想想吧,求你了~
好了,估计你想的也差不多了,那我先写一下我能想到的吧。
解决方案-1
# 方法1,简单的for循环和if语句
num = input("请输入一个整数n,将会计算1-n之间的奇数和: ") #用户输入任意整数
result_sum = 0 # 初始化奇数之和为0
for value in range(1,int(num)+1):
if value % 2 != 0: #判断余数是否为0,余数不为0则是奇数
result_sum += value #奇数累计求和
print(f"1~{num}之间的奇数和是:{result_sum}")
解决方案-2
# 方法2,利用 filter函数 和 lambda函数写法会更简洁一些
num = input("请输入一个整数n,将会计算1-n之间的奇数和: ") #用户输入任意整数
result = list(filter(lambda x:x%2==0,range(1,int(num)+1))) #lambda函数求余数,filter函数筛选出所有奇数
print(f"1~{num}之间的奇数和是:",sum(result)) #sum函数对列表元素求和
怎么样?和我的代码相比,谁更胜一筹呢?如果你认为你的代码更好,评论区直接留言,我会认真观摩一下大佬的杰作并给你点赞😄
如果是我的代码略胜一筹,那你更得关注我一下,然后看我是怎么被其他大佬PK下去的,岂不快哉~