小明同学xxm 发表于 2020-7-2 15:13:10

python没有答案显示

>>> i=7
>>> num=1
>>> while i<=10000:
        if(i%2==1)and(i%3==2):
                print(i)
        else:
                num=num+1
                i=i*num

这是我输入的代码 但是没有答案显示 请问这是怎么回事???
然后我再输入i显示i为7 即根本没有进入循环???

qiuyouzhi 发表于 2020-7-2 15:23:38

????
>>> i = 7
>>> num = 1
>>> while i <= 10000:
        if (i % 2 == 1) and (i % 3 == 2):
                print(i)
        else:
                num = num + 1
                i = i * num

               
>>> i
35280
>>> num
7

Twilight6 发表于 2020-7-2 15:24:35



改成这样即可,你 i = i * num 第一次是 7 *1 ,i = 7,第二次是 7*2 ,i = 14 ,第三次是 14*3 ,i = 42了....

i = 7
while i <= 10000:
    if (i % 2 == 1) and (i % 3 == 2):
      print(i)
      i = i + 7
    else:
      i = i + 7

qiuyouzhi 发表于 2020-7-2 15:24:47

没有答案显示是因为不符合条件吧...

小甲鱼的铁粉 发表于 2020-7-2 16:11:23

2楼正解,楼主缩进错了

小明同学xxm 发表于 2020-7-2 20:43:32

qiuyouzhi 发表于 2020-7-2 15:23
????

emm 我的没有显示欸??

小明同学xxm 发表于 2020-7-2 20:44:22

Twilight6 发表于 2020-7-2 15:24
改成这样即可,你 i = i * num 第一次是 7 *1 ,i = 7,第二次是 7*2 ,i = 14 ,第三次是 14*3 ,i =...

请问这两者有区别吗...我感觉是一样的

小明同学xxm 发表于 2020-7-2 20:45:03

小甲鱼的铁粉 发表于 2020-7-2 16:11
2楼正解,楼主缩进错了

啊?请问是哪里错了呀

小明同学xxm 发表于 2020-7-2 20:49:52

小甲鱼的铁粉 发表于 2020-7-2 16:11
2楼正解,楼主缩进错了

?哪里错了呢

Twilight6 发表于 2020-7-2 20:50:10

小明同学xxm 发表于 2020-7-2 20:45
啊?请问是哪里错了呀

区别很大   

我的代码是递增 7 的 ,

第一次 i = 7 ,第二次 i = 14第三次 i = 21第四次 i = 28 第五次 i = 35

而你的代码是,不确定倍增:

第一次 i = 7第二次 i = 14 第三次 i = 42 第四次 i = 168 第五次 i = 840

qiuyouzhi 发表于 2020-7-3 07:53:16

小明同学xxm 发表于 2020-7-2 20:43
emm 我的没有显示欸??

你输入完代码后按了两次回车吗?

zhujia1020 发表于 2020-7-3 10:23:20

你可以在else后面再加个print(i, num)就能知道你自己的程序是怎么循环的了,没有符合你的条件,所以就没有打印了
i=14 num=2
i=42 num=3
i=168 num=4
i=840 num=5
i=5040 num=6
i=35280 num=7
至于你说的i= 7,最好贴截图.因为我们的运行的结果都是i = 35280

Twilight6 发表于 2020-7-3 10:35:21

鱼c编程 发表于 2020-7-3 10:34
woc鱼c导师!!!!

{:10_297:}

小明同学xxm 发表于 2020-7-3 13:19:08

Twilight6 发表于 2020-7-2 20:50
区别很大   

我的代码是递增 7 的 ,


懂了懂了 谢谢
页: [1]
查看完整版本: python没有答案显示