mawenhan2000 发表于 2020-6-29 20:56:41

猜数字游戏编写问题

"""-------------------猜数字游戏-------------------------"""
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
大了,很遗憾,没有机会了!
游戏结束!

Twilight6 发表于 2020-6-29 21:00:08



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

import random

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

print("游戏结束")

xiaofeiyu 发表于 2020-6-29 21:00:08

没听懂什么意思,你发的程序已经能达到你的目的了

yhhpf 发表于 2020-6-29 21:10:30

哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习easygui之后-->学习tkinter之后,每次都回过头来改一改之前的代码;

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

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

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

guess = int(temp)

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



#EG猜数字
import easygui as eg
import random
num = eg.integerbox('请猜出我想的一个数字,范围再1-10之间的整数(只有3次机会哦 ^-^)', '猜数字小游戏', lowerbound=1, upperbound=10)
secret = random.randint(1,10)
count = 3
print(secret)
while True:
    if count == 0:#3次机会用完时结束游戏
      eg.msgbox(('呀!3次机会都用完了,下次再猜吧0.0'))
      break
    elif num == secret:#猜对了之后结束游戏
      eg.msgbox('恭喜你!回答正确!')
      break
    elif num > secret:#猜大了
      eg.msgbox('大了')
      count -= 1
      num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)
    elif num < secret:#猜小了
      eg.msgbox('小了')
      count -= 1
      num = eg.integerbox('再猜一次吧!你还有%s次机会' % count, '猜数字小游戏', lowerbound=1, upperbound=10)

mawenhan2000 发表于 2020-6-30 09:57:10

xiaofeiyu 发表于 2020-6-29 21:00
没听懂什么意思,你发的程序已经能达到你的目的了

已经得到答案,谢谢!我现在得目的只是 答错第一次,会显示:小了,还有2次机会,加油!,加油! 如果我继续答错了,而且是小了,还是显示:小了,还有2次机会,加油。 我想要得效果是第二次答错了会显示:小了,还有1次机会,加油!

mawenhan2000 发表于 2020-6-30 10:37:38

Twilight6 发表于 2020-6-29 21:00
你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:

谢谢,你的这个版本正好是我所学的范围!

mawenhan2000 发表于 2020-6-30 10:38:58

yhhpf 发表于 2020-6-29 21:10
哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习easygui之后-->学习tkinter之后 ...

感谢,你这个属于高阶版,更加完善,哈哈。现在所学的还没有涉及那么多的语令,但作为之后学习参考是非常好的
页: [1]
查看完整版本: 猜数字游戏编写问题