鱼C论坛

 找回密码
 立即注册
查看: 1703|回复: 6

[已解决]猜数字游戏编写问题

[复制链接]
发表于 2020-6-29 20:56:41 | 显示全部楼层 |阅读模式

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

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

x
"""-------------------猜数字游戏-------------------------"""
import random

counts=3
answer=random.randint(1,10)
while counts > 0:
    number = input('猜一下我心里想的是哪个数字:')
    guess = int(number)
    if guess == answer:
        print("答对了")
        print("没有奖励")
        break
    else:
        if guess < answer:
            print("小了,还有2次机会,加油!")
        else:
            print("大了,还有2次机会,加油!")
    counts=counts - 1
   
print("游戏结束")

----------------------------------------------

我想问下,猜数字游戏改进程序里面,如果猜错设定的数值,如何变化每一次的提示,例如:一共3次机会,第1次:大了,还有2次机会; 第二次:大了,还有1次机会; 第三次:大了,很遗憾没机,游戏结束!

最终想要的效果如下:
猜一下我心里想的是哪个数字: 5
小了,还有2次机会,加油!
猜一下我心里想的是哪个数字: 6
小了,还有1次机会,加油!
猜一下我心里想的是哪个数字: 9
大了,很遗憾,没有机会了!
游戏结束!
最佳答案
2020-6-29 21:00:08


你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:

  1. import random

  2. counts = 3
  3. answer = random.randint(1, 10)
  4. while counts > 0:
  5.     number = input('猜一下我心里想的是哪个数字:')
  6.     guess = int(number)
  7.     if guess == answer:
  8.         print("答对了")
  9.         print("没有奖励")
  10.         break
  11.     else:
  12.         counts = counts - 1
  13.         if guess < answer:
  14.             print("小了,还有",counts,"次机会,加油!")
  15.         else:
  16.             print("大了,还有",counts,"次机会,加油!")
  17.    

  18. print("游戏结束")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-6-29 21:00:08 | 显示全部楼层    本楼为最佳答案   


你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:

  1. import random

  2. counts = 3
  3. answer = random.randint(1, 10)
  4. while counts > 0:
  5.     number = input('猜一下我心里想的是哪个数字:')
  6.     guess = int(number)
  7.     if guess == answer:
  8.         print("答对了")
  9.         print("没有奖励")
  10.         break
  11.     else:
  12.         counts = counts - 1
  13.         if guess < answer:
  14.             print("小了,还有",counts,"次机会,加油!")
  15.         else:
  16.             print("大了,还有",counts,"次机会,加油!")
  17.    

  18. print("游戏结束")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-29 21:00:08 | 显示全部楼层
没听懂什么意思,你发的程序已经能达到你的目的了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-29 21:10:30 | 显示全部楼层
哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习easygui之后-->学习tkinter之后,每次都回过头来改一改之前的代码;

下面是其中俩个我自己当时写的,你阔以参考下,另外还有两个,不在这台电脑上0.0


  1. #猜数字
  2. import random
  3. temp = input("猜1-10之间的整数(共3次机会,当前第1次):")
  4. secret = random.randint(1,10)
  5. times = 1

  6. while not temp.isdigit():
  7.     print("请输入合法数字")
  8.     temp = input("猜1-10之间的整数(共3次机会,当前第" + str(times) + "次):")

  9. guess = int(temp)

  10. while (times != 3) and (guess != secret):
  11.     if guess > secret :
  12.         print("大了!")
  13.     else:
  14.         print("小了")
  15.     times += 1
  16.     temp = input("猜1-10之间的整数(共3次机会,当前第" + str(times) + "次):")  
  17.     guess = int(temp)
  18. if (times == 3) and (guess != secret):
  19.     print("已经3次,游戏结束!正确答案是:" + str(secret) )
  20. else:
  21.     print("恭喜你,答对了!")

复制代码

  1. #EG猜数字
  2. import easygui as eg
  3. import random
  4. num = eg.integerbox('请猜出我想的一个数字,范围再1-10之间的整数(只有3次机会哦 ^-^)', '猜数字小游戏', lowerbound=1, upperbound=10)
  5. secret = random.randint(1,10)
  6. count = 3
  7. print(secret)
  8. while True:
  9.     if count == 0:#3次机会用完时结束游戏
  10.         eg.msgbox(('呀!3次机会都用完了,下次再猜吧0.0'))
  11.         break
  12.     elif num == secret:#猜对了之后结束游戏
  13.         eg.msgbox('恭喜你!回答正确!')
  14.         break
  15.     elif num > secret:#猜大了
  16.         eg.msgbox('大了')
  17.         count -= 1
  18.         num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)
  19.     elif num < secret:#猜小了
  20.         eg.msgbox('小了')
  21.         count -= 1
  22.         num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2020-6-30 09:57:10 | 显示全部楼层
xiaofeiyu 发表于 2020-6-29 21:00
没听懂什么意思,你发的程序已经能达到你的目的了

已经得到答案,谢谢!我现在得目的只是 答错第一次,会显示:小了,还有2次机会,加油!,加油! 如果我继续答错了,而且是小了,还是显示:小了,还有2次机会,加油。 我想要得效果是第二次答错了会显示:小了,还有1次机会,加油!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-30 10:37:38 | 显示全部楼层
Twilight6 发表于 2020-6-29 21:00
你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:

谢谢,你的这个版本正好是我所学的范围!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-30 10:38:58 | 显示全部楼层
yhhpf 发表于 2020-6-29 21:10
哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习easygui之后-->学习tkinter之后 ...

感谢,你这个属于高阶版,更加完善,哈哈。现在所学的还没有涉及那么多的语令,但作为之后学习参考是非常好的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 08:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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