写在前面:
这个游戏的代码可以说是 用来复习所学的一些基础知识之一,所以一些输入优化就没做了
(如果对借鉴的人提供到帮助 那再好不过了)
# 导入随机数模块
import random
'''
猜数小游戏
程序需求:
在游戏中,每一轮会随机生成一个0-1024之间的数字(整数)
用户输入测试数字,程序会告诉用户猜大了还是猜小了。
- 在一定次数内猜对,则本轮用户获胜,否则本轮用户失败
- 每一轮开始时,程序会要求用户输入用户名
- 程序会一直运行,直到用户输入"3",停止游戏
- 每一轮游戏开始前,输入1可以查看用户输入的历史
'''
histiory = {}
answer = random.randint(0,1024)
# 查看用户的输入历史
def user_his():
if not histiory:
print("无用户输入记录 请输入2开始游戏")
else:
for i, j in histiory.items():
print('用户{},记录如下{}'.format(i, j))
# 用于测试用户与随机数1
# ansewr是随机数,user 是用户名称
def user_input(ansewr,user):
end_num = 0
while end_num < 10:
num = int(input('请输入一个数字:'))
if num < ansewr:
print('输入的数字比正确答案小')
elif num == ansewr:
print("答案正确!")
histiory[user].append("成功")
break
else:
print('你输入的数字比正确答案大')
end_num+=1 # 不管怎么输入 只要输入十次就结束游戏
else:
print('猜错次数太多结束游戏,开始下一轮游戏')
histiory[user].append("失败")
# para用于传递字典histiory
def user_name(para):
user = input("请输入用户名称:")
if None is para.get(user): # 如果没有用户的键
# 存储用户输入次数,输入十次为界限
para[user] = []
user_input(answer,user)
else:
user_input(answer,user)
# 程序会一直运行的外壳
def run():
while 1:
print('1.历史记录\n2.继续游戏\n3.退出游戏')
num = int(input('请输入数字选择:'))
if num == 1: #进入查询历史模块
user_his()
elif num==2: # 继续游戏 进入用户输入模块
user_name(histiory)
elif num==3:
print("游戏结束!")
# 结束游戏
break
else:
print("请输入 1 or 2 or 3")
run()
来源:CSDN
作者:SyouV
链接:https://blog.csdn.net/syou_54864394/article/details/104536284