鱼C论坛

 找回密码
 立即注册
查看: 2635|回复: 3

[已解决]看不懂第四讲课后习题动动手第二小问的答案

[复制链接]
发表于 2022-9-23 17:18:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

有没有好心人讲解一下?谢谢各位!好人一生平安!
最佳答案
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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-23 17:22:59 | 显示全部楼层

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

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

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

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

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

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-9-23 18:05:48 | 显示全部楼层
jackz007 发表于 2022-9-23 17:49
假如输入的是 5 那么,number = 5

谢谢,完全理解了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-10 17:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表