鱼C论坛

 找回密码
 立即注册
查看: 59|回复: 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 编辑
  1. temp = input('请输入一个整数:')  # 屏显 '请输入一个整数:' 等待用户键盘输入,并把输入字符串保存入变量 temp
  2. number = int(temp)               # 将用户键盘输入的字符串转换成数字,例如,把 '5' 转换成 5 存入变量 number
  3. i = 1                            # i 是准备用于循环累加的变量,先初始化其值为 1
  4. while number:                    # 如果 number 的值不为 0 就维持循环
  5.     print(i)                     # 打印变量 i 的数值
  6.     i = i + 1                    # 累加,i = i + 1
  7.     number = number - 1          # 循环变量 number = number - 1
复制代码

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

        假如输入的是 5 那么,number = 5
  1. 第1次循环:print(i)  打印 1           i = i + 1 = 1 + 1 = 2         number = number - 1 = 5 - 1 = 4
  2. 第2次循环:print(i)  打印 2           i = i + 1 = 2 + 1 = 3         number = number - 1 = 4 - 1 = 3
  3. 第3次循环:print(i)  打印 3           i = i + 1 = 3 + 1 = 4         number = number - 1 = 3 - 1 = 2
  4. 第4次循环:print(i)  打印 4           i = i + 1 = 4 + 1 = 5         number = number - 1 = 2 - 1 = 1
  5. 第5次循环:print(i)  打印 5           i = i + 1 = 5 + 1 = 6         number = number - 1 = 1 - 1 = 0
  6. 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

GMT+8, 2022-10-3 02:50

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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