python基础-猜数游戏

一、问题描述:

使用python开发一个猜数小游戏,程序随机产生0~1024之间的数字,用户输入猜测数字,程序告诉用户猜大了还是小了。在一定次数内猜对用户获胜,否则用户失败。
每一轮游戏要求用户输入用户名
程序会一直运行,直到用户输入“3”,停止游戏。在每一轮游戏前输入“1”可以查看用户输入历史。

二、涉及知识点:

  1. 随机生成数字,设计python 的随机数模块。
  2. 用户输入数字,程序输出结果。涉及python输入输出模块。
  3. 程序自动进行下一轮,涉及 python 循环模块。
  4. 判断用户输入,涉及p ython 条件判断模块。
  5. 查询用户输入历史,涉及python 的字典和列表模块。

三、代码构建

#调用随机数生成模块
import random 
#开始游戏控制模块
def start():
    name = input('请输入你的名字:')
    if name == '退出':
        return
    if name not in history:
        history[name] = []
    answer = random.randint(0, 1024)
    try_to_guess(name, answer)
    
def  try_to_guess(name ,answer): #猜数游戏主体模块
	try_nume = 0
	while try_nume < 100 :
		guess_answer =int(input('请输入一个你猜测的数字:'))
		if guess_answer < answer :
			print('你输入的数字小于正确答案')
		elif guess_answer > answer:
			print('你输入的数字大于正确答案')
		else  :
			print('恭喜你回答正确!')
			history[name].append('成功!')
			break
		try_nume += 1
	else  :
		print('猜测错误次数过多,游戏失败!')
		history[name].append('失败!')

# 历史记录模块
history = {}# 创建集合,存放历史记录
def show_history(): 
    for name, data in history.items():
        print('用户:{}, 记录如下:{}'.format(name, data))
# 防止输入没有的选项
def default(): 
    print('输入错误!请重新输入' )
    print('=' * 40)
if __name__ == '__main__':
    select_dict = {'1': start,'2': show_history,  '3': exit}
while True:
        select = input('1.开始游戏\n2.历史记录\n3.退出游戏\n请输入数字选择:')
        select_dict.get(select, default)()

四、调试与运行

无论成功与否,按1 开始游戏,按2查看记录,按3 退出游戏,输入其他字符报错。
在这里插入图片描述

发布了55 篇原创文章 · 获赞 178 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42767604/article/details/105092064