tgctg2020 发表于 2020-12-16 13:27:23

哪里出错了??

import random
suijishu=random.randint(1,20)
shuru1=int(input("猜猜我想的是几(1-20):"))
cishu=10
shuru=shuru1
while shuru!=suijishu and cishu>0:
      cishu=cishu-1
      if cishu<1:
            print("你猜的次数太多了!")
            break

      elif shuru<1 or shuru>20:
             print("请在1-20之间输入一个数!")
      elif shuru == suijishu:
                print("恭喜你猜对了!")
      elif shuru > suijishu:
                print("大了")
      else:
                print("小了")
      shuru1=int(input("请重新输入:"))
      shuru=shuru1
print("正确答案是"+str(suijishu))

为什么猜对了.不PRINT后面的内容,,看了半天.没看见啥BUG啊..

jackz007 发表于 2020-12-16 13:53:05

本帖最后由 jackz007 于 2020-12-16 13:59 编辑

      逻辑线索混乱,帮楼主重新清理,以下代码谨供楼主参考
import random

suijishu = random.randint(1,20)
cishu = 10
for x in range(cishu):
    shuru = int(input("猜猜我想的是几(1-20):"))
    if 0 < shuru < 21:
      if shuru == suijishu:
            print("恭喜你猜对了!")
            break
      else:
            if shuru > suijishu:
                print("大了")
            else:
                print("小了")
            if cishu - x > 1:
                print("再猜一次.\n")
    else:
      print("请在1-20之间输入一个数!\n")            
else:
    print("你猜的次数太多了!")
    print("正确答案是", suijishu)

tgctg2020 发表于 2020-12-16 14:26:13

jackz007 发表于 2020-12-16 13:53
逻辑线索混乱,帮楼主重新清理,以下代码谨供楼主参考

谢谢啊..

tgctg2020 发表于 2020-12-16 14:27:07

i=1
while (i%2==1)and(i%3==2)and(i%4==3)and(i%6==5)and(i%7==0):
      i+=i
print(i)


那这个的问题在哪呢?为什么最后输出结果是 1 啊..

tgctg2020 发表于 2020-12-16 14:29:35

tgctg2020 发表于 2020-12-16 14:27
i=1
while (i%2==1)and(i%3==2)and(i%4==3)and(i%6==5)and(i%7==0):
      i+=i


好像是没进循环,是吧?

tgctg2020 发表于 2020-12-16 14:47:04

tgctg2020 发表于 2020-12-16 14:29
好像是没进循环,是吧?

i=7
while i%7==0:
    if (i%2==1)and(i%3==2)and(i%4==3)and(i%6==5):
      break
    else:
       i=i+7

print(i)

这样写就可以了...
页: [1]
查看完整版本: 哪里出错了??