Python实现不一样的猜数字游戏的示例代码

 更新时间:2023年02月02日 11:18:55   作者:木木子学python  
大家知道“猜数字”这个游戏吗?顾名思义就是一个人想一个数字,另一个人猜。本文就来用Python实现一款不一样的猜数字游戏,感兴趣的可以了解一下

前言

日子从不亏欠,每一个努力向上的人,

未来的走运, 都是过往尽力的积累。

人勤春来早,奋进正当时。新春伊始,我们迎来了2023年开工第一天。

栗子同学恭祝大家开工大吉,新年新气象,万事开门红!

大家知道“猜数字”这个游戏吗?顾名思义就是一个人想一个数字,另一个人猜。这个游戏简单又有趣,小编小时候很喜欢玩。游戏开始了!小伙伴从 1~100 中任选一个数字记在心里让我猜,我每猜一个数字,他只能说小了、大了或对了。直到我猜到数字,游戏结束。

那时的我比较笨,总是从 1 开始依次往上猜……

1,小了。那就是 2,2 也小。那就是 3……就这样一个一个猜测数字花费了很长时间。如果他定的数字是 99,那我要猜 99 次才能猜到!小伙伴表示很无奈,后来也不想再和我玩了。

长大之后的一次偶然的机会,我看到了一本书叫《算法图解》。这本书上竟然提到了小时候我玩的“猜数字”游戏,我才了解到,这个游戏不是最终猜到这个数字就算赢,而是又快又准确地猜到数字,那才是高手!那如何快速准确地猜到数字呢?书中告诉了我们“猜数字”游戏快速胜出的小窍门,让我大呼神奇,茅塞顿开。首先从 50 开始猜。

​小了,但我们可以排除一半的数字!1~50 都小了。接下来,猜 75。

​大了,那余下的数字又排除了一半!75~100 都可以排除。接下来,猜 63(50 和 75 中间的数字)。

大了,但又可以排除一半数字!可以从 51~62 中选了!

接下来,猜 57(50 和 63 中间的数字)。对了!

猜数字游戏还是一个挺好玩的游戏,可以勾起你童年的回忆。这样的游戏也很适合在聚会上玩,今天一起来猜猜吧!来挑战编写一款猜数字Python代码的高级版本哦!顺便教大家怎么玩才能快速找到答案啦!

正文

创建一个可以猜数字的游戏,它会在1~100以内随机选择一个数,然后让玩家挑战在10轮以内猜出这个数字,每一轮都要告诉玩家正确或者错误,如果出错了,则告诉他数字是低还是高了,一旦玩家猜测正确,或者玩家用完了回合游戏将会结束。游戏结束后,可以让玩家选择重新开始,消耗相应的金币即可以继续游戏。

一、运行环境

 ​[开发环境]:

 python 3.6 运行代码 

 pycharm 2021 辅助敲代码 

 第三方模块 pip install 模块名 

 镜像源安装 pip install -i pypi.douban.com/simple/ +模块名 

python 安装包 安装教程视频 

pycharm 社区版 专业版 及 激活码免费找我拿即可 !

二、代码展示

主程序——

import random
import time
x1 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
for i in x1:
    print(i, end='')
    time.sleep(0.02)
print('\n加', end='')
time.sleep(0.05)
print('载', end='')
time.sleep(0.05)
print('中', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.', end='')
time.sleep(0.05)
print('.')
print('欢迎来到猜数游戏!')
lives = 10
tax = 1
ranswer = 0
coines = 300
number = random.randint(0, 100)
name = input('请输入昵称!')
if name != '爸爸':
    print('尊敬的用户' + name + '您好')
    print('欢迎来到猜数游戏!')
elif name == '爸爸':
    print('我是你爸爸!')
    print('你是我儿子!')
a = ['第' + str(tax) + '关!']
for l in a:
    time.sleep(0.05)
    print(l)
c = ['现有' + str(coines) + '金币!' ]
for d in c:
    time.sleep(0.05)
    print(d)
while lives > 0:
    print('请', end='')
    time.sleep(0.05)
    print('输', end='')
    time.sleep(0.05)
    print('入', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('-', end='')
    time.sleep(0.05)
    print('1', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('0', end='')
    time.sleep(0.05)
    print('的', end='')
    time.sleep(0.05)
    print('数', end='')
    time.sleep(0.05)
    print('字', end='')
    time.sleep(0.05)
    answer = input(':')
    ranswer = int(answer)
    if ranswer < number:
        print('''|( ̄Д  ̄)=凸
太小了!''')
        lives -= 1
        time.sleep(0.5)
    elif ranswer > number:
        print('''(︶︿︶)=凸
太大了!''')
        lives -= 1
        time.sleep(0.5)
    if ranswer == number:
        print('''(凸艹皿艹)凸
竟然对了!''')
        tax += 1
        lives = 8
        time.sleep(0.05)
        print('是', end='')
        time.sleep(0.05)
        print('否', end='')
        time.sleep(0.05)
        print('在', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('?', end='')
        time.sleep(0.05)
        print('\n不', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('试', end='')
        time.sleep(0.05)
        print('试', end='')
        time.sleep(0.05)
        print('!', end='')
        print('へ', end='')
        time.sleep(0.05)
        print('(', end='')
        time.sleep(0.05)
        print('`', end='')
        time.sleep(0.05)
        print('_', end='')
        time.sleep(0.05)
        print('ゝ', end='')
        time.sleep(0.05)
        print('´', end='')
        time.sleep(0.05)
        print(')', end='')
        time.sleep(0.05)
        print('▄',end='')
        time.sleep(0.05)
        print('︻',end='')
        time.sleep(0.05)
        print('┻',end='')
        time.sleep(0.05)
        print('┳',end='')
        time.sleep(0.05)
        print('═',end='')
        time.sleep(0.05)
        print('═',end='')
        time.sleep(0.05)
        print('━',end='')
        time.sleep(0.05)
        print('一')
        time.sleep(0.05)
        print('y', end='')
        time.sleep(0.05)
        print('/', end='')
        time.sleep(0.05)
        yn = input('n')
        if yn == 'n':
            print('杀过' + sr(tax) + '关!')
            print('   凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)')
            x1 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
            for i in x1:
                print(i, end='')
                time.sleep(0.02)
            break
        else:
            print('ヾ(@^▽^@)ノ还是好盆友!')
            lives = 10
            number = random.randint(0, 100)
            a = ['第' + str(tax) + '关!']
            for l in a:
                time.sleep(0.05)
                print(l)
            coines += 300
            c = ['现有' + str(coines) + '金币!' ]
            for d in c:
                time.sleep(0.05)
                print(d)
            continue
    if lives == 0 and coines > 200:
        print('很', end='')
        time.sleep(0.05)
        print('遗', end='')
        time.sleep(0.05)
        print('憾', end='')
        time.sleep(0.05)
        print('!')
        time.sleep(0.05)
        print('机', end='')
        time.sleep(0.05)
        print('会', end='')
        time.sleep(0.05)
        print('耗', end='')
        time.sleep(0.05)
        print('尽', end='')
        print('!')
        print('是', end='')
        time.sleep(0.05)
        print('否', end='')
        time.sleep(0.05)
        print('在', end='')
        time.sleep(0.05)
        print('玩', end='')
        time.sleep(0.05)
        print('(', end='')
        time.sleep(0.05)
        print('消', end='')
        time.sleep(0.05)
        print('耗', end='')
        time.sleep(0.05)
        print('2', end='')
        time.sleep(0.05)
        print('0', end='')
        time.sleep(0.05)
        print('0', end='')
        time.sleep(0.05)
        print('金', end='')
        time.sleep(0.05)
        print('币', end='')
        time.sleep(0.05)
        print(')', end='')
        time.sleep(0.05)
        print('y', end='')
        time.sleep(0.05)
        print('/', end='')
        time.sleep(0.05)
        YN = input('n') 
        if YN == 'y':
            print('ヽ( ̄ω ̄( ̄ω ̄〃)ゝ是条汉子!')
            lives = 10
            coines -= 300
            c = ['现有' + str(coines) + '金币!' ]
            for d in c:
                time.sleep(0.05)
                print(d)
            number = random.randint(0, 100) 
        else:
            tax -= 1
            print('杀过' + str(tax) + '关!')
            print('   凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)凸(艹皿艹凸)')
            x2 = ['╠','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','┅','╣']
            for j in x2:
                print(j, end='')
                time.sleep(0.02)
    elif lives == 0 and coines < 200:
        y = ['金币不足!\n无法复活!']
        for f in y:
            print(f)
            time.sleep(0.05)
            tax -= 1
            print('杀过' + sr(tax) + '关!')
        break

三、效果展示

游戏规则:猜数字高级版本是一个闯关版本—每10次机会猜,猜对即可获取300金币,猜错即

游戏失败,初始金币为300,每玩一次需要消耗200金币。

1)第一关卡

2)随机截图

到此这篇关于Python实现不一样的猜数字游戏的示例代码的文章就介绍到这了,更多相关Python猜数字游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中namedtuple函数的用法解析

    python中namedtuple函数的用法解析

    这篇文章主要介绍了python中namedtuple函数的用法解析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-08-08
  • 8个Python中可复用函数的最佳实践分享

    8个Python中可复用函数的最佳实践分享

    在Python编程中,编写可复用的函数是提高代码质量和开发效率的关键,本文将介绍8种最佳实践,并提供丰富的示例代码,希望可以帮助大家编写高质量的可复用函数
    2023-12-12
  • python设置 matplotlib 正确显示中文的四种方式

    python设置 matplotlib 正确显示中文的四种方式

    这篇文章主要介绍了python设置 matplotlib 正确显示中文的四种方式,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-05-05
  • 利用Python多处理库处理3D数据详解

    利用Python多处理库处理3D数据详解

    本文将介绍处理大量数据时非常方便的工具,例如tqdm与 multiprocessing​imap​​一起使用、并行处理档案、绘制和处理3D数据等,感兴趣的小伙伴可以了解一下
    2021-12-12
  • 在Python 中同一个类两个函数间变量的调用方法

    在Python 中同一个类两个函数间变量的调用方法

    今天小编就为大家分享一篇在Python 中同一个类两个函数间变量的调用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Pandas+Matplotlib 箱式图异常值分析示例

    Pandas+Matplotlib 箱式图异常值分析示例

    今天小编就为大家分享一篇Pandas+Matplotlib 箱式图异常值分析示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python操作MySQL数据库的简单步骤分享

    Python操作MySQL数据库的简单步骤分享

    这篇文章主要给大家介绍了关于Python操作MySQL数据库的简单步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • TensorFlow实现checkpoint文件转换为pb文件

    TensorFlow实现checkpoint文件转换为pb文件

    今天小编就为大家分享一篇TensorFlow实现checkpoint文件转换为pb文件,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 如何使用Python异步之上下文管理器

    如何使用Python异步之上下文管理器

    这篇文章主要为大家介绍了如何使用Python异步之上下文管理器详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • pyspark dataframe列的合并与拆分实例

    pyspark dataframe列的合并与拆分实例

    这篇文章主要介绍了pyspark dataframe列的合并与拆分实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论