Python猜数字游戏教程

这篇教程将介绍如何使用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使用,如下图。点击下图任意一个圈的按钮位置即可

d2b5ca33bd152706

 

我输入一个数后看它给我提示猜小了,且除了第一次输入时它提示猜一下这个数,其它的如果猜错了都提示猜错了继续猜

d2b5ca33bd152955

 

我再输入一个数,它提示猜大了,那说明正确的答案在40-50之间

d2b5ca33bd153407

 

这个时候就可以把猜的数范围缩小了

d2b5ca33bd153551

可以看到是运行成功了,逻辑也对。我设置猜的数次限制是15次,且我有设置更多提示词,所以它基本上是猜必对的,为了加难度,可以设置猜的次数,我改一下次数让你们看看结果

d2b5ca33bd154055

 

可以看到如果给的限制次数少的话很难赢的,大家可以改一下难度

这个Python代码很简单,它需要你的代码逻辑就行,不会做的小伙伴可以看看这个代码的逻辑

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容