鱼C论坛

 找回密码
 立即注册
查看: 1947|回复: 5

[已解决]哪里出错了??

[复制链接]
发表于 2020-12-16 13:27:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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啊..
最佳答案
2020-12-16 13:53:05
本帖最后由 jackz007 于 2020-12-16 13:59 编辑

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

  2. suijishu = random.randint(1,20)
  3. cishu = 10
  4. for x in range(cishu):
  5.     shuru = int(input("猜猜我想的是几(1-20):"))
  6.     if 0 < shuru < 21:
  7.         if shuru == suijishu:
  8.             print("恭喜你猜对了!")
  9.             break
  10.         else:
  11.             if shuru > suijishu:
  12.                 print("大了")
  13.             else:
  14.                 print("小了")
  15.             if cishu - x > 1:
  16.                 print("再猜一次.\n")
  17.     else:
  18.         print("请在1-20之间输入一个数!\n")            
  19. else:
  20.     print("你猜的次数太多了!")
  21.     print("正确答案是", suijishu)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-16 13:53:05 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-12-16 13:59 编辑

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

  2. suijishu = random.randint(1,20)
  3. cishu = 10
  4. for x in range(cishu):
  5.     shuru = int(input("猜猜我想的是几(1-20):"))
  6.     if 0 < shuru < 21:
  7.         if shuru == suijishu:
  8.             print("恭喜你猜对了!")
  9.             break
  10.         else:
  11.             if shuru > suijishu:
  12.                 print("大了")
  13.             else:
  14.                 print("小了")
  15.             if cishu - x > 1:
  16.                 print("再猜一次.\n")
  17.     else:
  18.         print("请在1-20之间输入一个数!\n")            
  19. else:
  20.     print("你猜的次数太多了!")
  21.     print("正确答案是", suijishu)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢啊..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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 啊..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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

好像是没进循环,是吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)

这样写就可以了...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-26 20:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表