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。


相关文章
|
2月前
|
存储 Java C语言
【python】——使用嵌套列表实现游戏角色管理
【python】——使用嵌套列表实现游戏角色管理
37 0
|
1月前
|
人工智能 数据可视化 机器人
【Python】Python实现五子棋游戏(带可视化界面)【独一无二】
【Python】Python实现五子棋游戏(带可视化界面)【独一无二】
|
2月前
|
算法 编译器 C语言
C语言猜数字小游戏(也包含python实现的用法)
本文基于VS2022、pycharm和前面的知识,写一个凭借分支与循环的小游戏,比如: 写一个猜数字游戏 游戏要求: 电脑自动生成1~100的随机数 玩家猜数字,猜数的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束 在pyhton中生成随机数是比较简单的,可以直接导入random的包,直接生成随机数,导致写猜数字小游戏变成了判读语句和循环语句嵌套就能写出来,所以我不做过多的介绍了,可以直接看后面的代码展示,想了解更多的python可看python的基础知识,这里面有我在学习python的过程中写的笔记
33 0
|
1月前
|
存储 人工智能 算法
【Python】Yahtzee(掷骰子游戏)模拟程序【独一无二】
【Python】Yahtzee(掷骰子游戏)模拟程序【独一无二】
|
16天前
|
存储 Python
Python 一步一步教你用pyglet制作“彩色方块连连看”游戏
Python 一步一步教你用pyglet制作“彩色方块连连看”游戏
38 0
|
16天前
|
算法 Python
Python 一步一步教你用pyglet制作汉诺塔游戏
Python 一步一步教你用pyglet制作汉诺塔游戏
29 0
|
1月前
|
存储 Python
如何使用Python实现“猜数字”游戏
本文介绍了使用Python实现“猜数字”游戏的过程。游戏规则是玩家在给定范围内猜一个由计算机随机生成的整数,猜对则获胜。代码中,首先导入random模块生成随机数,然后在循环中获取玩家输入并判断大小,提供猜小、猜大提示。通过增加猜测次数限制、难度选择、优化输入提示和图形化界面等方式可优化游戏。这篇文章旨在帮助初学者通过实际操作学习Python编程。
38 2
|
2月前
|
存储 Python Windows
10分钟学会用python写游戏,实例教程
10分钟学会用python写游戏,实例教程
38 0
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
tqdm库融入猜数字小游戏(python
tqdm库融入猜数字小游戏(python
22 1
|
3月前
|
Python
Python猜字游戏是一种常见的编程练习
Python猜字游戏是一种常见的编程练习
27 2