鱼C论坛

 找回密码
 立即注册
查看: 1080|回复: 8

[已解决]python猜数字

[复制链接]
发表于 2021-9-11 16:06:41 | 显示全部楼层 |阅读模式

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

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

x
要求从1-10中随机选一个数字,然后每次猜一个,每次猜完会告诉你大了还是小了,只能猜五次,第五次输入数字之后如果没猜中,会告诉你猜错了。但是我的程序为什么第五次输入错误之后还会继续显示:你猜的数字大了或者小了,然后再告诉你猜错了。求大神帮助,感激不尽!!
这是我的程序:
import random
counts = 1
turns = 5
answer = random.randint(1,10)

print("Pick a number between 1 and 10.\nYou will have 5 turns.")
while counts <= 5:
   
    temp = input("Your guess is \n")
    guess = int(temp)
    turns = turns - 1
    if guess == answer:
        print("It took you",counts,"turns to guess my number, which was",answer,".")
        break
    else:
        if guess < answer:
            print("Turns ",counts+1)
            print("Your guess,",guess,",is too low")
            print("Pick a number between 1 and 10.")
            print("You have ", turns, " turns left.")
        else:
            print("Turns ",counts+1)
            print("Your guess,",guess,",is too high")
            print("Pick a number between 1 and 10.")
            print("You have ", turns, " turns left.")
    counts = counts + 1
else:
    print("Oops!!No turns left.My number was",answer,".")
最佳答案
2021-9-11 16:37:40
你想要的是这样的效果?
  1. counts = 1
  2. turns = 5
  3. answer = random.randint(1, 10)

  4. print("Pick a number between 1 and 10.\nYou will have 5 turns.")
  5. while counts <= 5:

  6.     temp = input("Your guess is \n")
  7.     guess = int(temp)
  8.     turns = turns - 1
  9.     if guess == answer:
  10.         print("It took you", counts,
  11.               "turns to guess my number, which was", answer, ".")
  12.         break
  13.     else:
  14.         if counts == 5:
  15.             counts = counts + 1
  16.             continue
  17.         if guess < answer:
  18.             print("Turns ", counts+1)
  19.             print("Your guess,", guess, ",is too low")
  20.             print("Pick a number between 1 and 10.")
  21.             print("You have ", turns, " turns left.")
  22.         else:
  23.             print("Turns ", counts+1)
  24.             print("Your guess,", guess, ",is too high")
  25.             print("Pick a number between 1 and 10.")
  26.             print("You have ", turns, " turns left.")
  27.     counts = counts + 1
  28. else:
  29.     print("Oops!!No turns left.My number was", answer, ".")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-11 16:14:41 | 显示全部楼层
請問想幫助什麼呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 16:34:31 | 显示全部楼层
这是你自己写的逻辑呀
你是想到第五次没匹配上就直接退出吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 16:37:40 | 显示全部楼层    本楼为最佳答案   
你想要的是这样的效果?
  1. counts = 1
  2. turns = 5
  3. answer = random.randint(1, 10)

  4. print("Pick a number between 1 and 10.\nYou will have 5 turns.")
  5. while counts <= 5:

  6.     temp = input("Your guess is \n")
  7.     guess = int(temp)
  8.     turns = turns - 1
  9.     if guess == answer:
  10.         print("It took you", counts,
  11.               "turns to guess my number, which was", answer, ".")
  12.         break
  13.     else:
  14.         if counts == 5:
  15.             counts = counts + 1
  16.             continue
  17.         if guess < answer:
  18.             print("Turns ", counts+1)
  19.             print("Your guess,", guess, ",is too low")
  20.             print("Pick a number between 1 and 10.")
  21.             print("You have ", turns, " turns left.")
  22.         else:
  23.             print("Turns ", counts+1)
  24.             print("Your guess,", guess, ",is too high")
  25.             print("Pick a number between 1 and 10.")
  26.             print("You have ", turns, " turns left.")
  27.     counts = counts + 1
  28. else:
  29.     print("Oops!!No turns left.My number was", answer, ".")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 17:21:14 | 显示全部楼层
大马强 发表于 2021-9-11 16:37
你想要的是这样的效果?

谢谢大神,就是想要这种效果。可以麻烦给我解释以下什么原理吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 17:21:50 | 显示全部楼层
傻眼貓咪 发表于 2021-9-11 16:14
請問想幫助什麼呢?

谢谢啊,已经解决了。可能是我没说的太清楚,不好意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-11 17:40:45 | 显示全部楼层
Ddaniel1177 发表于 2021-9-11 17:21
谢谢大神,就是想要这种效果。可以麻烦给我解释以下什么原理吗?


                               
登录/注册后可看大图

下次发代码可以点击输入框的 <> 插入代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-11 21:51:39 | 显示全部楼层
大马强 发表于 2021-9-11 17:40
下次发代码可以点击输入框的  插入代码

好的好的,谢谢大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-12 00:24:33 | 显示全部楼层
我怎么看着你这个是逻辑问题。。。。
稍微小小修改一下就好了
  1. import random

  2. counts = 1
  3. turns = 0
  4. answer = random.randint(1, 10)

  5. print("Pick a number between 1 and 10.\nYou will have 5 turns.")
  6. while counts <= 5:

  7.     temp = input("Your guess is \n")
  8.     guess = int(temp)
  9.     turns = turns + 1
  10.     if guess == answer:
  11.         print("It took you", counts, "turns to guess my number, which was", answer, ".")
  12.         break
  13.     else:
  14.         if guess < answer:
  15.             print("Turns ", counts + 1)
  16.             print("Your guess,", guess, ",is too low")
  17.             print("Pick a number between 1 and 10.")
  18.             print("You have ", turns, " turns left.")
  19.         else:
  20.             print("Turns ", counts + 1)
  21.             print("Your guess,", guess, ",is too high")
  22.             print("Pick a number between 1 and 10.")
  23.             print("You have ", turns, " turns left.")
  24.     counts = counts + 1
  25. else:
  26.     print("Oops!!No turns left.My number was", answer, ".")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 22:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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