276131813@qq.co 发表于 2021-1-9 22:19:25

请教零基础课程第四讲的问题

请教一下,最后一行的“+1”代表什么意思呢?为什么我改了其它数字运行,出来的都是无限的数列。
temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number + 1

井十三 发表于 2021-1-9 22:24:08

本帖最后由 井十三 于 2021-1-9 22:26 编辑

这个逻辑不太对劲啊{:10_272:}

你这样除非输入0,不然都是无限的吧

昨非 发表于 2021-1-9 22:24:14

你确定这个程序不是个死循环?

昨非 发表于 2021-1-9 22:24:45

number = number - 1才对吧

jackz007 发表于 2021-1-9 22:26:02

      这一句
    number = number + 1
      得改成
    number = number - 1
      否则,就是死循环

斯诺非 发表于 2021-1-9 22:30:54

while循环的括号中是判断括号中的内容是否为真,若为真则一直执行下面的语句,知道括号里的内容为假
而你的number每次都在递增,所以只要你的输入不是0就会一直执行

276131813@qq.co 发表于 2021-1-11 16:28:33

jackz007 发表于 2021-1-9 22:26
这一句

      得改成


请问一下,为什么只有    number = number - 1才不是死循环呢?这是什么意思?

jackz007 发表于 2021-1-11 16:51:49

本帖最后由 jackz007 于 2021-1-11 16:53 编辑

276131813@qq.co 发表于 2021-1-11 16:28
请问一下,为什么只有才不是死循环呢?这是什么意思?

      因为你得想办法让 number = 0,否则的话,循环就会没有尽头的。每次循环都减去 1,不是越减越小吗?

昨非 发表于 2021-1-11 16:55:30

276131813@qq.co 发表于 2021-1-11 16:28
请问一下,为什么只有才不是死循环呢?这是什么意思?

while number:这个循环条件
只有当number=0时才跳出循环
页: [1]
查看完整版本: 请教零基础课程第四讲的问题