Python实现猜数字游戏

简介: Python实现猜数字游戏

一、需求分析


编写一个猜数字游戏,游戏规则:计算机给出一个1-20的之间的随机数字,让玩家来猜猜它是几,计算机会告诉你每次猜出的数字或大或小,如在6次内猜到正确数字,即赢了。


二、编写思路


1.首先导入random随机模块 ,然后定义随机数的范围,然后定义次数。


2.使用while循环来判断是否符合随机数和输入数值的比较,并且设置次数递减


3.使用 isdigit 函数来完成判断玩家数据类型,避免报错。


4.使用if else 流程控制语句即玩家输入数字比随机数大则提醒玩家数字大,反之则小并且提醒玩家剩余几次机会。


5.最后编写输入机会用完猜对则游戏结束,猜错则提醒机会用完,并且公布电脑给出的随机数答案。


三、问题


1.如何来判断玩家输入的数据类型来避免报错?

解决:使用isdigit函数来判断玩家输入的数据类型是否为数字,是则继续运行反之则提醒玩家输入的内容不合法。


2.如何限制玩家输入字符的数量?

解决:定义一个最大常量和最小常量,超出最大常量或者最小常量则会提醒玩家输入内容的范围。

四、代码

import random  # 导入随机模块
times = 6  # 定义尝试次数
game = random.randint(0, 20)  # 定义随机数范围
max = 20  # 定义最大常量
min = 0  # 定义最小常量
print('猜一猜我心目中的数字(0-20之间):')
print('你有%d次机会:' % times)
while times > 0:  # 循环判断如果有机会往下运行
    times = times - 1  # 次数递减
    str = input()  # 输入数值
    if not str.isdigit():  # 判断数据类型 输入的是不是数字
        print('您输入的数据:' + str + '不合法,请重新输入我心目中的数字(0-20)之间,还有%d次机会' % times)
    else:
        guess = int(str)
        if guess == game:    #玩家输入与随机数相同
            print('猜对了!')
        else:
            if guess > max:   #玩家输入大于猜测随机数范围
                print('输入无效!请输入%d到%d之间的数字,还有%d次机会.' % (min, max, times))
                continue
            if guess > game:  #玩家输入大于随机数
                print('您输入的数字大了!还有%d次机会' % times)
            else:            
                print('您输入的数字小了!还有%d次机会' % times)
            if times > 0:     #还有次数
                print('在尝试一次吧')
            else:
                print('没机会了')
                print('我心目中的数字是%d' % game)
print('游戏结束!')


五、感悟


通过本次的项目练习,我感觉自己收获还是很大的,不仅考验了自己对基础知识的掌握程度,而且和同学在讨论中也发现了更多的问题并且学会解决问题,然后在师父的验收过程中也发现了代码可以调优完善的地方,最后在纪老师验收的过程中,通过看其他同学的代码和自己的代码来对比可以发现一些自己所不了解的知识及语法,老师也提了很多的问题,并且提供了更多的思路,例如代码里曲线 背景快出现的原因,以及如何设计游戏更多的乐趣,然后以后完成项目还可以使用PPT,因为这样可以更清楚更便于自己或者同学来理解,使我受益匪浅,在自己解决问题的过程中也学会了一些更多的函数用法,例如如何判断数据类型,通过在网上搜索学习了这个函数,我也对类似的这种函数进行了解:

s为字符串


s.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。


s.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。


s.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。


s.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。


s.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。


s.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。


s.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。


相关文章
|
1月前
|
IDE 开发工具 Python
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
|
2月前
|
Python
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14
|
2月前
|
人工智能 算法 图形学
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
106 11
|
1月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
70 0
|
2月前
|
消息中间件 数据采集 数据库
庆祝吧!Python IPC让进程间的合作,比团队游戏还默契
【9月更文挑战第7天】在这个数字化时代,软件系统日益复杂,单进程已难以高效处理海量数据。Python IPC(进程间通信)技术应运而生,使多进程协作如同训练有素的电竞战队般默契。通过`multiprocessing`模块中的Pipe等功能,进程间可以直接传递数据,无需依赖低效的文件共享或数据库读写。此外,Python IPC还提供了消息队列、共享内存和套接字等多种机制,适用于不同场景,使进程间的合作更加高效、精准。这一技术革新让开发者能轻松应对复杂挑战,构建更健壮的软件系统。
36 1
|
3月前
|
机器学习/深度学习 存储 定位技术
强化学习Agent系列(一)——PyGame游戏编程,Python 贪吃蛇制作实战教学
本文是关于使用Pygame库开发Python贪吃蛇游戏的实战教学,介绍了Pygame的基本使用、窗口初始化、事件处理、键盘控制移动、以及实现游戏逻辑和对象交互的方法。
|
4月前
|
机器学习/深度学习 人工智能 开发者
Python适合做游戏吗?
【7月更文挑战第2天】Python适合做游戏吗?
111 56
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】python之人工智能应用篇--游戏生成技术
游戏生成技术,特别是生成式人工智能(Generative Artificial Intelligence, 简称Generative AI),正逐步革新游戏开发的多个层面,从内容创作到体验设计。这些技术主要利用机器学习、深度学习以及程序化内容生成(Procedural Content Generation, PCG)来自动创造游戏内的各种元素,显著提高了开发效率、丰富了游戏内容并增强了玩家体验。以下是生成式AI在游戏开发中的几个关键应用场景概述
66 2
|
3月前
|
Python
【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】
【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】
|
3月前
|
Python
【Leetcode刷题Python】174. 地下城游戏
LeetCode 174题 "地下城游戏" 的Python解决方案,使用动态规划算法计算骑士从左上角到右下角拯救公主所需的最低初始健康点数。
51 3