3216207773 发表于 2020-9-8 21:12:49

question

i=1
num=7*i
if num%2==1 and num%3==2 and num%5==4 and num%6==5:
    print(num)
else:
    i += 1
    #为什么这个代码运行不了

疾风怪盗 发表于 2020-9-8 21:17:45

if num%2==1 and num%3==2 and num%5==4 and num%6==5:
要同时满足这么多条件,太难了,所以没法print,只能i=i+1
然后
就没有然后了,下面没代码了,程序跑完了
你这个程序运行的了,只是已经运行完了

昨非 发表于 2020-9-8 21:19:27

你这段大概意思是想循环输出满足那一串条件的num吧{:10_277:}

kylin121380 发表于 2020-9-8 21:20:11

本帖最后由 kylin121380 于 2020-9-8 21:21 编辑

加个循环,不然运行一遍就结束了,自然没什么结果

i=1
while True:
    num = 7 * i
    if num%2==1 and num%3==2 and num%5==4 and num%6==5:
      print(num)
      break
    else:
      i += 1

3216207773 发表于 2020-9-8 21:22:42

昨非 发表于 2020-9-8 21:19
你这段大概意思是想循环输出满足那一串条件的num吧


疾风怪盗 发表于 2020-9-8 21:23:27

i = 1
while i < 100:
    num = 7 * i
    if num % 2 == 1 and num % 3 == 2 and num % 5 == 4 and num % 6 == 5:
      print(num)
      i += 1
    else:
      i += 1

这样试试吧

3216207773 发表于 2020-9-8 21:24:38

kylin121380 发表于 2020-9-8 21:20
加个循环,不然运行一遍就结束了,自然没什么结果

你这个也运行不了

疾风怪盗 发表于 2020-9-8 21:26:52

3216207773 发表于 2020-9-8 21:24
你这个也运行不了

他那个能运行,不过就出第一个结果
你肯定是复制了代码,第一行i=1前面那个空格没删掉吧{:5_99:}

3216207773 发表于 2020-9-8 21:28:29

疾风怪盗 发表于 2020-9-8 21:26
他那个能运行,不过就出第一个结果
你肯定是复制了代码,第一行i=1前面那个空格没删掉吧

哦哦,对的

sunrise085 发表于 2020-9-8 21:30:18

给你的程序一个注释。你的是顺序执行一次就结束了
i=1   #给i赋值为1
num=7*i#给num赋值为7
if num%2==1 and num%3==2 and num%5==4 and num%6==5:#进行if判断,但是不符合同条件
    print(num)    #符合if条件时,才会执行这句话
else:# 不符合if条件,就会走到这里,显然你的程序会走到这里
    i += 1#然后执行这句话,i=2。程序结束

正常应该使用循环
i=1   #给i赋值为1
while i<100: #进行while条件判断,符合条件进入while循环,不符合条件退出循环
    num=7*i#给num赋值为7*i
    if num%2==1 and num%3==2 and num%5==4 and num%6==5:#进行if判断,符合条件的时候,执行if下面的语句,不符合条件跳到else
      print(num)    #符合if条件时,才会执行这句话,输出num的值
      break      #找到符合条件的值,用break跳出循环
    else:# 不符合if条件,就会走到这里
      i += 1#执行这句话,i=i+1

杜若左 发表于 2020-9-8 21:49:51

学习一下
页: [1]
查看完整版本: question