请大神指点,这个number=number-1想不通啊
temp = input('请输入一个整数:')number = int(temp)
i = 1
while number:
print(i)
i = i + 1
number = number - 1 每次减1,当number为0时就跳出循环 本帖最后由 ouyunfu 于 2020-5-7 17:56 编辑
number = number - 1目的是使number自减,当number=0时,while number:循环才会结束,不然就停不下来了。 while循环处,不是有一个number嘛,那个number
就是循环的条件(number != 0),你要是没有number减一那一步,
就会死循环,因为number永远不会等于0. 请不要把赋值语句的等号等同于数学的等号。比如下面的代码x = 10
x = x + 2如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。———摘自廖雪峰的官方网站 qiuyouzhi 发表于 2020-5-7 17:56
while循环处,不是有一个number嘛,那个number
就是循环的条件(number != 0),你要是没有number减一那一 ...
哥是不是这样的 我如果输入一个5那么number的值就是5 ,条件成立,while要循环 ,而i=1循环递加,当i的值循环到5时,number会减循环的数字5,如number-i那么5-5=0 循环结束。 小飞呀 发表于 2020-5-7 18:47
哥是不是这样的 我如果输入一个5那么number的值就是5 ,条件成立,while要循环 ,而i=1循环递加, ...
并不是,number永远都是-1,每次循环都-1,
因为number一开始是5,所以要减5次才能退出循环。 temp = input('请输入一个整数:')
# 由于 input() 返回的永远是字符串(不管用户输入的是什么),所以需要先将用户输入的内容转化为整数
number = int(temp)
# 先将 i 初始化为 1
i = 1
# while number 表示当 number 不为 0 时执行循环
while number:
# 打印 i 的值
print(i)
# 将 i 与 1 相加
i = i + 1
# 将 number 与 1 相减
number = number - 1 qiuyouzhi 发表于 2020-5-7 18:53
并不是,number永远都是-1,每次循环都-1,
因为number一开始是5,所以要减5次才能退出循环。
哥,明白了,它会无线循环,而后面的numder=number-1 比如我输入的数字是5 那么当number的值是5,i+1一直递加,每加一次number会减一次i,当i循环到5时,nuber-i=0,循环条件不成立,循环结束。对吗?
如i=i+1 这时会打印一个2 而number=number-1会减一个2 直到i+到5 number减到5 number=0 循环结束
小飞呀 发表于 2020-5-7 19:34
哥,明白了,它会无线循环,而后面的numder=number-1 比如我输入的数字是5 那么当number的值是5,i+ ...
不要把number和i联系到一起,number就是number,i就是i
每次循环,number-1,变成4,变成3,变成2,变成1,变成0
这时候number为0,循环结束。 qiuyouzhi 发表于 2020-5-7 19:36
不要把number和i联系到一起,number就是number,i就是i
每次循环,number-1,变成4,变成3,变成2,变成 ...
我理解错了 我一直在还原number,number没减一次会少1,跟i没有关系,无论是什么数字,i会一直往前走,而number会基于输入的数字,一直递减,直到零,那么这时循环结束,而i也结束。{:5_109:} 小飞呀 发表于 2020-5-7 19:49
我理解错了 我一直在还原number,number没减一次会少1,跟i没有关系,无论是什么数字,i会一直往前走, ...
嗯嗯,这次理解是对的 qiuyouzhi 发表于 2020-5-7 19:51
嗯嗯,这次理解是对的
那么i的循环次数,应该是number的递减次数决定的吧。 小飞呀 发表于 2020-5-7 20:05
那么i的循环次数,应该是number的递减次数决定的吧。
是的 qiuyouzhi 发表于 2020-5-7 20:29
是的
多谢,以后还希望向您请教,我用买本书看吗,小鱼的python零基础 搭配视频看? 小飞呀 发表于 2020-5-7 20:38
多谢,以后还希望向您请教,我用买本书看吗,小鱼的python零基础 搭配视频看?
可以买一本 理解有点困难! 本帖最后由 yg飞许 于 2022-12-29 16:39 编辑
i=i +1是什么意思,不太理解 qiuyouzhi 发表于 2020-5-7 19:51
嗯嗯,这次理解是对的
number = number - 2,为啥一直循环
页:
[1]