zoukankan      html  css  js  c++  java
  • 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.开始游戏
    2.历史记录
    3.退出游戏
    请输入数字选择:')
            select_dict.get(select, default)()
    
    

    四、调试与运行

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

  • 相关阅读:
    VS2010中经常使用的快捷键
    IE无法打开internet网站已终止操作的解决的方法
    Spring3.0 AOP 具体解释
    Java 反射机制[Method反射]
    软件測试自学指南---从入门到精通
    Java中Map的使用
    tracert路由跟踪命令分析判断
    C++ Primer 学习笔记_32_STL实践与分析(6) --再谈string类型(下)
    ORACLE触发器具体解释
    Androidclient推断server是否开启 HttpHostException解决方式
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755249.html
Copyright © 2011-2022 走看看