猜数字游戏编写问题
"""-------------------猜数字游戏-------------------------"""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
大了,很遗憾,没有机会了!
游戏结束!
你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:
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("游戏结束") 没听懂什么意思,你发的程序已经能达到你的目的了 哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习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)
xiaofeiyu 发表于 2020-6-29 21:00
没听懂什么意思,你发的程序已经能达到你的目的了
已经得到答案,谢谢!我现在得目的只是 答错第一次,会显示:小了,还有2次机会,加油!,加油! 如果我继续答错了,而且是小了,还是显示:小了,还有2次机会,加油。 我想要得效果是第二次答错了会显示:小了,还有1次机会,加油! Twilight6 发表于 2020-6-29 21:00
你刚刚开始学,这样操作就行,等你后面学习到格式化就更简单了:
谢谢,你的这个版本正好是我所学的范围! yhhpf 发表于 2020-6-29 21:10
哈哈,很有趣的题目,这个题目从最开始普通的解答-->加入自己的想法-->学习easygui之后-->学习tkinter之后 ...
感谢,你这个属于高阶版,更加完善,哈哈。现在所学的还没有涉及那么多的语令,但作为之后学习参考是非常好的
页:
[1]