《零基础入门学习Python》第004讲课后题
请问以下代码会打印多少次“我爱鱼C!”i = 10
while i:
print('我爱鱼C!')
i = i - 1
救命,不懂为何只打印10次呢?对i不能变成负数吗?我理解是打印无数次.... i初始值为10。i为正整数时,打印一次“我爱鱼C”,执行完一次打印动作,i减1等于9。如此往复当i=1时,打印一次“我爱鱼C”,这是第10次打印“我爱鱼C”。接下来执行递减动作,i-1=0。接下来返回循环,while i=0时,判断为false,循环中断。程序停止运行。 i 为 0 则判断为 False
Python 中只要 0 、空字符串、空列表、空字典等 都可以看作布尔类型的值为 False
只要是 非0 ,非空字符串、列表、字典 等 都可以看作布尔类型的值为 True
所以你每次循环 i 都会 -1 直到减到 0 循环条件不满足,就退出了循环,所以根本没机会到 -1因为先到0了
while i:说明循坏条件是i为真(只有空和0是假)
i = i - 1。 说明没循环一次i就-1
i等于10,所以循环十次,i为0,0是假,停止循环
欢迎追问{:10_254:} i为0 就认为是False Twilight6 发表于 2020-6-16 12:34
所以你每次循环 i 都会 -1 直到减到 0 循环条件不满足,就退出了循环,所以根本没机会到 -1因为 ...
啊棒!!我懂了!谢谢! 彦彦儿 发表于 2020-6-16 15:19
啊棒!!我懂了!谢谢!
~帮助到你记得设置最佳哈~{:5_91:} 青出于蓝 发表于 2020-6-16 12:43
while i:说明循坏条件是i为真(只有空和0是假)
i = i - 1。 说明没循环一次i就-1
i等于10,所以循环十 ...
懂了!!谢谢~~ 老哥你这问的好啊!!
我试了的,如果是我while -1则会一直运行下去的。
所以应该是猜到就是到0的时候就成了false 的类型了,其他的时候是true的类型了
页:
[1]