|  | 
 
| 
python入门第四讲《改进我们的小游戏》动动手1题
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 复制代码temp = input('请输入一个整数:')
number = int(temp)
i = 1
while number:
    print(i)
    i = i + 1
    number = number - 1
请问一下,在这个运行中,假设输入是5,代码是如何之循环5次后停下而不是继续向下num = num -1(变成-1、-2等等),为什么负数就不参与运行了;还有就是在运行时输入负数会进入死循环,如果把while number:改成while number > 1:是解决这个问题的办法吗?
 
要知道在Python 中只要 0 、None、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False
 只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True
 而 while 循环叫做条件循环,模板是这样的: while <条件>: 只有当条件为True 时候 循环才会继续进行,或者进入循环,而当条件为 False 的时候退出循环
 
 这里你while 循环里面每次 number 都会减少 1 ,所以当你 number 循环减少到 0 时候 即 while 循环条件为 False 就退出了 while 循环,前提是你输入正数
 
 而如果你输入负数,会导致无限循环,也就是死循环,除非你把 循环内的 number = number - 1 改成 number + 1 ,才有可能让number 到达 0 的时候
 
 
 如果把while number:改成while number > 1:是解决这个问题的办法吗?
 可以解决,改成 number > 0 更好
 
 | 
 |