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 退出游戏,输入其他字符报错。
    在这里插入图片描述

  • 相关阅读:
    [ Openstack ] Openstack-Mitaka 高可用之 环境初始化
    [ Openstack ] OpenStack-Mitaka 高可用之 概述
    Swift
    Swift
    报错
    归并排序
    堆排序
    插入排序
    早睡早起身体好
    用于查询的日期类型转换帮助类
  • 原文地址:https://www.cnblogs.com/tianyao2020/p/12755249.html
Copyright © 2011-2022 走看看