pythongirl 发表于 2020-5-23 15:41:27

关于while的问题



各位大神!
您们好!

想请教一个小问题

while后关于数字的条件是不是只要number>0的情况下,循环就会自动执行,当number<=0,则会停止呢?
所以就不需要在while后写出number>0,直接写number 就可以了?
感谢各位!!{:5_91:}

liuzhengyuan 发表于 2020-5-23 15:42:16

非 0 为真原则
在 number 不为 0 的时候执行

每次循环number 减 1,最后number 为 0,跳出循环

qiuyouzhi 发表于 2020-5-23 15:42:53

差不多,但有一点不对:
只要不为0,就会一直循环,所以,如果number等于9,你还每次循环-2的话,照样会死循环。

永恒的蓝色梦想 发表于 2020-5-23 15:43:18

while后关于数字的条件只要number!=0的情况下,循环就会自动执行,当number==0,则会停止。

青出于蓝 发表于 2020-5-23 15:43:34

本帖最后由 青出于蓝 于 2020-5-23 15:48 编辑

不行,得写while number > 0:或者wile True:temp = input('请输入一个整数:')
number = int(temp)
while number > 0:
    print(i)
    i += 1
    number -= 1
看看这样是不是对了,还有while True也可以实现~~~
求最佳

Twilight6 发表于 2020-5-23 15:51:00

本帖最后由 Twilight6 于 2020-5-23 16:18 编辑

while后关于数字的条件是不是只要number>0的情况下,循环就会自动执行,当number<=0,则会停止呢?
不是的 如果number 小于零你图中的循环也会成立

因为你要知道:

你要知道 只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False

只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True

所以number < 0 时候 是可以继续执行的但number = 0 时候就会退出循环

但是如果你写成 number 的话 会导致假设你输入的是个负值会永远循环下去 导致 死循环

我再次错误!错误部分已删

永恒的蓝色梦想 发表于 2020-5-23 16:10:00

Twilight6 发表于 2020-5-23 15:51
不是的 如果number 小于零你图中的循环也会成立

因为你要知道:


但是这里input 之后 没办法 int 转为负数,只能转为 大于0的整数(因为int不能把字符串的负号转为数字=值中的负号)
所以说 实际上是可行的 只是理论上是不可行的这是谁告诉你的?

Twilight6 发表于 2020-5-23 16:14:43

永恒的蓝色梦想 发表于 2020-5-23 16:10
这是谁告诉你的?

上次试的哈哈

永恒的蓝色梦想 发表于 2020-5-23 16:16:01

Twilight6 发表于 2020-5-23 16:14
上次试的哈哈

建议说之前先试一下>>> int('-1')
-1

Twilight6 发表于 2020-5-23 16:16:19

永恒的蓝色梦想 发表于 2020-5-23 16:10
这是谁告诉你的?

。。。我丢 刚刚去试了下居然可以的!!!{:10_272:} 我明明昨天做题时转不了 好奇怪

Twilight6 发表于 2020-5-23 16:17:39

永恒的蓝色梦想 发表于 2020-5-23 16:16
建议说之前先试一下

昨天做题把文件里的含空格的隔开 求 里面数的极差我就是负的字符串转不成整数

永恒的蓝色梦想 发表于 2020-5-23 16:20:55

Twilight6 发表于 2020-5-23 16:17
昨天做题把文件里的含空格的隔开 求 里面数的极差我就是负的字符串转不成整数

发个帖子,我帮你改改?

Twilight6 发表于 2020-5-23 16:28:01

永恒的蓝色梦想 发表于 2020-5-23 16:20
发个帖子,我帮你改改?

哈哈 我现在作业都上交了{:10_278:} 改了下代码就提交了麻烦了点现在知道可以直接 转成负数了应该是被文件的换行符给搞的

永恒的蓝色梦想 发表于 2020-5-23 16:28:39

Twilight6 发表于 2020-5-23 16:28
哈哈 我现在作业都上交了 改了下代码就提交了麻烦了点现在知道可以直接 转成负数了应该 ...

{:10_277:}
页: [1]
查看完整版本: 关于while的问题