Python习题练习6-- 1-100求和

目录

解法1使用sum函数直接求和

解法2使用for循环进行计算

解法3使用while循环进行计算


题目:计算1到100的所有整数的和

解法1使用sum函数直接求和:

print(sum(range(1,101)))   #直接使用sum函数对range(1,100)进行求和  打印结果为:5050

解法2使用for循环进行计算:

a=1     #先定义一个变量a为0 
for i in range(2,101):    #定义一个变量i对range(1,101)进行遍历
    a = i + a     #a=i+a  i每次循环+1  a是每次循环后加上i的值
print(a)  #输出a的值为5050

解题思路:先用数学的方法去计算下,看看有什么规律,一步一步计算,首先是1+2=3,然后3+3=6,再然后6+4=10,观察这三组数据可以发现,每次都是用上一次的结果,去加上一个新的数,可以先把结果变成变量a,然后每次得到结果后重新给a赋值,1+2=a ,然后a+3 =a  此时又给a重新赋值  ,a+4=a然后又更新了变量a的值,所以一直到a+100=a,最后的a就是我们想要的结果,然后再观察另一个数,另一个数是2、3、4,这个情况我们就可以设置一个变量i用for循环去遍历range(2,101)得到(此时有的同学可能想的是让他自增,直接每次+1就行,这个方法在下面,可以先看for循环的解法),此时除了第一组外其他的就变成了 a+i=a,此时我们给a设置一个初始值让a=1就解决了这个问题,此时就满足了所有的都是a+i=a的结构了。  

解法3使用while循环进行计算:

a=1    #设置一个变量a=0
i=2    #设置一个变量i=1
while i <=100:   #使用while循环,设置的条件为 i小于等于100
    a = i + a    #a=i+a
    i = i+1      #i=i+1
print(a)         #打印a的值

解题思路:和上面那个一样,也是先用数学的方法去计算下,看看有什么规律,一步一步计算,首先是1+2=3,然后3+3=6,再然后6+4=10,观察这三组数据可以发现,每次都是用上一次的结果,去加上一个新的数,可以先把结果变成变量a,然后每次得到结果后重新给a赋值,1+2=a ,然后a+3 =a  此时又给a重新赋值  ,a+4=a然后又更新了变量a的值,所以一直到a+100=a,最后的a就是我们想要的结果,然后再观察另一个数,另一个数是2、3、4,!!!区别!!!上面可能会有疑问,说我可以不用for循环遍历啊,我让他每次加上1不就行了吗,这时候我们就可以把这个数设置为变量i,然后再每次计算得到结果a后,然后再让i加上1就可以得到最新的数字了,这样也是除了第一组外,就都满足了a+i=a的情况了,最开始那组可以直接给他们赋值为 a=1,i=2 ,这样所有的情况就都满足a+i=a的公式了,然后每次计算就是先计算 a+i =a,然后再计算i+1=i去得到新的i,然后再用最新的a和i去进行计算a+i=a,然后再计算i+1=i,一直重复计算直到不满足i<=100时结束循环,这时候用while循环就完美解决了。

PS:大家搜这个题答案的时候,可能看到的大部分答案都是下面这样的,变量都是从0开始的,感觉这样可能看到更直观一下。所以解题思路不一样,不光代码可能不一样(指使用for循环还是while循环解决问题),同代码下解决思路给变量的赋值情况可能也会不同,但是不管这几种方法不同还是变量不同,得到的答案都是一样的,所以一个题的解法并没有一个标准的答案,主要还是看各位的解题思路是怎样的。

#for循环解法
a=0
for i in range(1,101):
    a = i + a
print(a)

#while循环解法
a=0
i=1
while i <=100:
    a = i + a
    i = i+1
print(a)

  下图为公众号二维码,内容会同步发出,大家可以关注一起学习

                                                                                               

这个是张狗子小哥哥的公众号,会分享一些平时的工作心得,可以关注看下。

                                                Python习题练习6-- 1-100求和_第1张图片                                                

你可能感兴趣的:(Python练习题,python)