第四讲课后作业1,代码是如何限制while函数只执行对应次数
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:是解决这个问题的办法吗? 这个代码是正确的
“非 0 为真”
while number 就是在 number 不为 0 的时候循环,number 不停地 减一,最后总会变成 0,跳出循环 本帖最后由 Hello. 于 2020-7-13 21:27 编辑
while number
即判断是否为真,如果不是0就是真,继续循环
到0就是假了,不循环了
不会出现 负数情况
本帖最后由 Hello. 于 2020-7-13 21:34 编辑
如果输入负数,因为程序不断在-1,则永远判断为负数,不为0,为真一直循环
你改的不对,如果>1,则只循环四次,可以改成
while number >0
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 更好
while number 表示如果number=0就停止循环
而number每次都减一
number=负数 减一就永远不能等于0 这个代码没问题,0表示假,其他的表示真,从输入5,一直到4,3,2,1,最后是0,也就是假,就会退出循环。
最佳答案是我的{:10_254:} Python里面false=0, 其他都是true
while number: 等同于while number != 0: Twilight6 发表于 2020-7-13 21:31
而 while 循环叫做条件循环,模板是这样的: while : 只有当条件为True 时候 循环才会继续进行,或者 ...
好的,感谢。想再问一下您提到的值为false的布尔类型的值是python编写中的既定规则吗?(就是类似于物理中遵循的公理定理一类的);后面那个原本是准备写number > 0: 的,后来打字的时候打错了,哈哈,感谢 条件状语从句 发表于 2020-7-14 18:48
好的,感谢。想再问一下您提到的值为false的布尔类型的值是python编写中的既定规则吗?(就是类似于物理 ...
你可以用 bool 函数来看他们的布尔值,一个空的东西就为 False不是空的东西就为 True Twilight6 发表于 2020-7-14 18:51
你可以用 bool 函数来看他们的布尔值,一个空的东西就为 False不是空的东西就为 True
好的,昨天看了小甲鱼的第四次课和最后的作业,没看到第五节,所以对一些数据类型还不是很熟悉,现在看到后面的视频明白了,感谢 条件状语从句 发表于 2020-7-14 18:56
好的,昨天看了小甲鱼的第四次课和最后的作业,没看到第五节,所以对一些数据类型还不是很熟悉,现在看到 ...
客气了
页:
[1]