一边玩一边学习 发表于 2022-9-23 17:18:22

看不懂第四讲课后习题动动手第二小问的答案

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

有没有好心人讲解一下?谢谢各位!好人一生平安!

Twilight6 发表于 2022-9-23 17:22:59


你应该是不理解 while 循环条件处吧

Python 中只要为 0、None、空字符串、空列表、空字典等 作为条件判断时都为 False

反之不为 0、None,非空字符串、空列表、空字典等 作为条件判断时都为 True

所以答案中 while number: 将 number 作为循环的条件

根据代码和得知 number 为 int 类型数据,那么只要当 number 为 0 时,循环就会结束

只要 number 不为 0 ,循环就会一直执行

jackz007 发表于 2022-9-23 17:49:29

本帖最后由 jackz007 于 2022-9-23 17:56 编辑

temp = input('请输入一个整数:')# 屏显 '请输入一个整数:' 等待用户键盘输入,并把输入字符串保存入变量 temp
number = int(temp)               # 将用户键盘输入的字符串转换成数字,例如,把 '5' 转换成 5 存入变量 number
i = 1                            # i 是准备用于循环累加的变量,先初始化其值为 1
while number:                  # 如果 number 的值不为 0 就维持循环
    print(i)                     # 打印变量 i 的数值
    i = i + 1                  # 累加,i = i + 1
    number = number - 1          # 循环变量 number = number - 1
      假如输入的是 5 那么,number = 5
第1次循环:print(i)打印 1         i = i + 1 = 1 + 1 = 2         number = number - 1 = 5 - 1 = 4
第2次循环:print(i)打印 2         i = i + 1 = 2 + 1 = 3         number = number - 1 = 4 - 1 = 3
第3次循环:print(i)打印 3         i = i + 1 = 3 + 1 = 4         number = number - 1 = 3 - 1 = 2
第4次循环:print(i)打印 4         i = i + 1 = 4 + 1 = 5         number = number - 1 = 2 - 1 = 1
第5次循环:print(i)打印 5         i = i + 1 = 5 + 1 = 6         number = number - 1 = 1 - 1 = 0
number 的值为 0,while number 失去循环条件,最后,i = 6

一边玩一边学习 发表于 2022-9-23 18:05:48

jackz007 发表于 2022-9-23 17:49
假如输入的是 5 那么,number = 5

谢谢,完全理解了!
页: [1]
查看完整版本: 看不懂第四讲课后习题动动手第二小问的答案