求助第二版0基础入门学习python教材中4.6节while循环语句例题的解释
# p4_8.pyi = 1
sum = 0
while i <= 100:
sum += 1
i += 1
print(sum)
求助各位大神,这段代码在书中说到打印的是1+2+3+……+100的计算结果,但是实际输出的时候显示的是从1一直到100,每个数字一行,并不是加和的结果呀,请问各位大神是怎么回事?另外sum本身就是python的一个内置函数,如果在前面定义sum = 0的话,是不是sum就被定义为一个初始值为0的普通变量,无法进行加和计算了?如果想用sum函数实现加和计算,程序应该如何来写呢?谢谢各位,感激不尽~~~ 本帖最后由 Twilight6 于 2020-6-4 20:03 编辑
这里没错呀,你是把 print 代码写到循环内了 导致一直打印到 100你重新复制这段代码回去试试
你的代码可能是这样的:
i = 1
sum = 0
while i <= 100:
sum += 1
i += 1
print(sum)
而且你叙述错误了,是 1+1+1+1+1 .... 加到 100
正确代码:
i = 1
sum = 0
while i <= 100:
sum += 1
i += 1
print(sum)
sum本身就是python的一个内置函数,如果在前面定义sum = 0的话,是不是sum就被定义为一个初始值为0的普通变量,无法进行加和计算了
是的,如果不小心误用Python 内置函数作为变量名 可以用 del 删除变量恢复回 内置函数效果
如果想用sum函数实现加和计算,程序应该如何来写呢?
print(sum(*100))
{:10_297:}
Twilight6 发表于 2020-6-4 19:58
这里没错呀,你是把 print 代码写到循环内了 导致一直打印到 100你重新复制这段代码回去试试
试了一下您发的代码,这回输出的结果只有100,而且我没看出来这两段有啥区别,您能再给解释得详细一点吗?谢谢~~ kohayakawa 发表于 2020-6-4 20:01
试了一下您发的代码,这回输出的结果只有100,而且我没看出来这两段有啥区别,您能再给解释得详细一点吗 ...
嗯 看2楼 Twilight6 发表于 2020-6-4 20:03
嗯 看2楼
我用您提供的代码运行,结果还是输出了100,并不是从1加到100的值,您刚才说的错误是说我把print的缩进放在了跟上面一样的位置,我又检查了一下,确实我的print 跟while缩进是一样的 kohayakawa 发表于 2020-6-4 20:08
我用您提供的代码运行,结果还是输出了100,并不是从1加到100的值,您刚才说的错误是说我把print的缩进放 ...
本来就不是啊你的代码是 sum += 1 每次循环所以每次都是 +1 啊 循环 100 次 不是 100 是什么呢?
要 1+2+3.。。。+100 要这么写:
# p4_8.py
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum) Twilight6 发表于 2020-6-4 20:03
嗯 看2楼
您好,刚才的那个代码的问题我还有点不太清楚,我感觉那段代码输出的结果就应该是100个1相加的结果,就是先给sum赋值为0,然后每while循环一次就多加1,最后循环100次,所以加到了100。但是如果我想输出从1一直加到100的总和结果,应该怎么来写这个程序呢?
Twilight6 发表于 2020-6-4 20:11
本来就不是啊你的代码是 sum += 1 每次循环所以每次都是 +1 啊 循环 100 次 不是 100 是什么呢?
...
明白了,谢谢您 kohayakawa 发表于 2020-6-4 20:14
明白了,谢谢您
客气了,加油吧 {:10_264:}
页:
[1]