盛世极颜小姐姐 发表于 2021-7-1 08:36:45

第四讲作业

temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1
大佬们最后这个number = number - 1是怎么回事啊,没看懂,如果把这个去掉他就会一直往下打

wp231957 发表于 2021-7-1 08:37:51

while number:这里的 number不变成0
循环如何能结束???

逃兵 发表于 2021-7-1 09:44:03

number = number - 1是让number每次都减去1

这样使得当number == 0时,while number不成立,从而退出循环

如果去掉这一行,number的值不会变化,使得条件while number永远成立,造成死循环

leafu 发表于 2021-7-1 10:04:40

这个问题在于你对while判定的不理解,while (条件),你可以理解为 当(条件为真)的时候,执行后面的循环,对于数字来说,如果这个数字为0,那么就是条件为假,所以number=number-1就是为了让你的判定条件不断变化,最后一定会出现number小于等于0的情况,那时候就终止循环了

leafu 发表于 2021-7-1 10:14:29

leafu 发表于 2021-7-1 10:04
这个问题在于你对while判定的不理解,while (条件),你可以理解为 当(条件为真)的时候,执行后面的循环 ...

另外,while后面的判定条件如果是数字的话,只有这个数字为0的时候,才会判定为假。负数也是判定为真

盛世极颜小姐姐 发表于 2021-7-1 10:48:25

leafu 发表于 2021-7-1 10:04
这个问题在于你对while判定的不理解,while (条件),你可以理解为 当(条件为真)的时候,执行后面的循环 ...

我懂了,while是只要出现(条件),就会开始重复,不管是自己输入的还是程序中出现的对吧

盛世极颜小姐姐 发表于 2021-7-1 10:49:17

逃兵 发表于 2021-7-1 09:44
number = number - 1是让number每次都减去1

这样使得当number == 0时,while number不成立,从而退出循 ...

谢谢
页: [1]
查看完整版本: 第四讲作业