这篇教程将介绍如何使用Python编写一个简单的猜数字游戏。在这个游戏中,计算机会随机生成一个100以内的整数,用户需要在指定的次数内猜出这个数字。
首先,我们需要导入random模块中的randint函数,用于生成一个100以内的随机整数:
from random import randint
is_num = randint(1, 100)
接下来,我们定义一些变量来记录用户输入的数字、提示词、输入次数和最大输入次数等信息:
enter_num = 0
smaller_num = randint(1, 50)
bigger_num = randint(1, 50)
num_count = 0
num_limit = 15
result = False
然后,我们使用while循环来实现游戏的主要逻辑。在循环中,我们首先判断用户是否已经超过了最大输入次数,如果超过了,则结束游戏;否则,根据用户输入的数字给出相应的提示,并让用户继续猜测:
while int(enter_num) != is_num and not(result):
if num_count <= num_limit - 1:
if num_count == 0:
smaller = is_num - smaller_num
bigger = is_num + bigger_num
hint = print('请猜100以内的数,这个数比{}大,比{}小:'.format(smaller,bigger))
enter_num = int(input('猜一下这个数:'))
num_count += 1
else:
if enter_num > is_num:
print('猜大了!')
else:
print('猜小了!')
enter_num = int(input('猜错了,继续猜:'))
num_count += 1
else:
result = True
if result:
print('你猜错已经有15次了,游戏结束,你输了!')
else:
print('恭喜猜对了!你赢了! ')
完整代码
from random import randint
# 100以内的随机数
is_num = randint(1,100)
# 输入猜的数,默认是0.达到这个数与随机数不相等,实现循环
enter_num = 0
# 提示词数
smaller_num = randint(1,50)
bigger_num = randint(1,50)
# 默认没有输入次数
num_count = 0
# 输入的最大次数,超过这个次数就不再循环了
num_limit = 15
# 默认是False,为循环做判断,不然这个一直循环到你输入对为止
ruselt = False
# 如果猜的数与随机数不同,并且ruselt的数不是False,则循环下去
while int(enter_num) != is_num and not(ruselt):
# 这个是设置猜的数次,如果猜错的数次超过指定数次,则跳出循环
if num_count <= num_limit - 1:
# 如果第一次猜错了,后面的次数就回应’猜错了继续猜‘,而不是回应’猜一下这个数‘
if num_count == 0:
# 比要随机数小
smaller = is_num - smaller_num
# 比要随机数大
bigger = is_num + bigger_num
# 提示词
hint = print('请猜100以内的数,这个数比{}大,比{}小:'.format(smaller,bigger))
enter_num = int(input('猜一下这个数:'))
# 继续循环
num_count += 1
else:
# 给提示词,不然猜不对
if enter_num > is_num:
print('猜大了!')
else:
print('猜小了!')
# 根据提示词继续猜
enter_num = int(input('猜错了,继续猜:'))
# 继续循环
num_count += 1
# 超过限制次数了就返回ruselt = True,与while的判断不同(int(enter_num) 不等于(可大可小) is_num,这条判断错了直接退出循环,表示猜对了,ruselt = True与判断相符,表示猜错了,退出循环),结束循环
else:
ruselt = True
if ruselt:
print('你猜错已经有15次了,游戏结束,你输了!')
else:
print('恭喜猜对了!你赢了! ')
使用
不用安装任何模块,只需要有Python就行
在PyCharm使用,如下图。点击下图任意一个圈的按钮位置即可
我输入一个数后看它给我提示猜小了,且除了第一次输入时它提示猜一下这个数,其它的如果猜错了都提示猜错了继续猜
我再输入一个数,它提示猜大了,那说明正确的答案在40-50之间
这个时候就可以把猜的数范围缩小了
可以看到是运行成功了,逻辑也对。我设置猜的数次限制是15次,且我有设置更多提示词,所以它基本上是猜必对的,为了加难度,可以设置猜的次数,我改一下次数让你们看看结果
可以看到如果给的限制次数少的话很难赢的,大家可以改一下难度
这个Python代码很简单,它需要你的代码逻辑就行,不会做的小伙伴可以看看这个代码的逻辑
© 版权声明
THE END
暂无评论内容