g476292825 发表于 2021-8-3 20:51:07

新手求解

课后作业1. 请问以下代码会打印多少次“我爱鱼C!”
i = 10
while i:
    print('我爱鱼C!')
    i = i - 1

初学者求问这里为什么是打印10次,正常思维应该是I=10    I=10-1=9应该是9次,但为什么是10次         我试过最后改I=I-5    运行是打印两次,相当其实那个减号就是除号的意思???{:5_91:}




windawn2 发表于 2021-8-3 21:04:51

1、不断地i-1,直到i=0,中间会循环10次
2、i=10时,i=i-5只能循环两次(10能减去两次5),所以打印两次

g476292825 发表于 2021-8-3 21:06:18

windawn2 发表于 2021-8-3 21:04
1、不断地i-1,直到i=0,中间会循环10次
2、i=10时,i=i-5只能循环两次(10能减去两次5),所以打印两次

还是不太明白- -

大马强 发表于 2021-8-3 21:27:03

不是这么算滴,、
第一个 1 ~ 10 这里面有10个数字 ,所以打印10次
第二个 当 i-5 时 ,执行循序为 判断-> 打印 ->10-5=5->判断->打印->5-5=0->判断->跳出
当i为0时程序就会跳出

深谙流年 发表于 2021-8-3 21:28:18

10,9,8,7,6,5,4,3,2,1,一共是10次,

柿子饼同学 发表于 2021-8-3 21:41:17

>>> i = 10
>>> while i:
        print(i, end = ' ')
        i = i - 1

       
10 9 8 7 6 5 4 3 2 1
>>>
运行了一下 , 第一次是10 , 满足条件 .
后面又i = i - 1变成了9
到1的时候打印完1后i变成了0 , 不符合条件,不打印

99313895 发表于 2021-8-3 21:55:08

为什么打印十次,就是因为10只能被1减10次,当10被减到0时,布尔类型为false,循环结束,打印的十次分别由10.9.8.7.6.5.4.3.2.1打印的

tang- 发表于 2021-8-3 22:17:21

设置i= 1,i = 2,这样子试试,i = 1打印一次,i = 2打印两次

鹅是小垃圾 发表于 2021-8-3 23:45:10

本帖最后由 鹅是小垃圾 于 2021-8-3 23:47 编辑

你把while语句学一下while语句后面跟的是表达式,表达式为 真 (非0)就一直循环
i是10每次循环减1 第十次就为0 为0就结束运行 循环十次printf就打印十次呗
第一次是从10开始判断你减5 第三次就为0了代码就不会进行运行了

逃兵 发表于 2021-8-4 08:07:21

i = 10
while i:
    print("此时i=",i) #测试代码
    print('我爱鱼C!')
    i = i - 1


此时i= 10
我爱鱼C!
此时i= 9
我爱鱼C!
此时i= 8
我爱鱼C!
此时i= 7
我爱鱼C!
此时i= 6
我爱鱼C!
此时i= 5
我爱鱼C!
此时i= 4
我爱鱼C!
此时i= 3
我爱鱼C!
此时i= 2
我爱鱼C!
此时i= 1
我爱鱼C!
页: [1]
查看完整版本: 新手求解