用python写的一个猜随机数的小游戏

蹲街弑〆低调 提交于 2020-02-27 18:30:48

写在前面

这个游戏的代码可以说是 用来复习所学的一些基础知识之一,所以一些输入优化就没做了

(如果对借鉴的人提供到帮助 那再好不过了)

# 导入随机数模块
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()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!