dorisssphinx 发表于 2020-5-31 06:27:15

python004 课后练习 我有一个小问题

temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1

第四讲中这一道练习题, 为什么在while loop的最后要加上number = number - 1?
谢谢各位大佬!

KevinHu 发表于 2020-5-31 06:38:37

如果没有number = number - 1的话,num就一直是输入的那个数,while number也就会一直成立,就会导致死循环

青出于蓝 发表于 2020-5-31 06:44:31

本帖最后由 青出于蓝 于 2020-5-31 07:33 编辑

计数,可以理解为机会。每挑战失败一次,挑战机会就-1。
number=number-1可以理解为number-=1
哦哦,看错了,number不是机会啊...这个-1是形成循坏停止的条件。

Twilight6 发表于 2020-5-31 07:27:09

要知道 Python中 只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True

所以这里 while 循环时候 只要 number 不等于零就一直循环,如果没有 number = number - 1 那么就会导致死循环,这里的 number 实质作用就是循环次数

zwhe 发表于 2020-6-4 10:47:07

{:7_136:}

jia159753 发表于 2020-6-4 20:56:15

不要最后的number = number - 1 的话会出现死循环的,会一直输出i

wuguiyou888 发表于 2020-6-5 02:49:06

因為number不等於0 的話 while就一直為True 所以必須循環一次就要減1 知道nunber為0的時候 while就為False 就會停止循環 走下一條語句

dorisssphinx 发表于 2020-6-5 05:10:18

明白了谢谢两位大佬!!

江苏大丰 发表于 2020-6-5 09:02:53

青出于蓝 发表于 2020-5-31 06:44
计数,可以理解为机会。每挑战失败一次,挑战机会就-1。
number=number-1可以理解为number-=1
哦哦,看错 ...

讲得很到位

魏睿超 发表于 2020-6-5 09:14:39

while循环是当只要条件为真,他就会一直执行循环体内的内容。这时候你如果加一个number等于number加一。

魏睿超 发表于 2020-6-5 09:16:03

Number的值就会每循环一次加一,当number 的值不满足while的条件时,就退出循环。

魏睿超 发表于 2020-6-5 09:17:02

搞错了,是number 减一。

魏睿超 发表于 2020-6-5 09:17:34

望采纳。
页: [1]
查看完整版本: python004 课后练习 我有一个小问题