|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
python入门第四讲《改进我们的小游戏》动动手1题
- 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 更好
|
|