【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】

简介: 【python】Python成语接龙游戏[1-3难度均有](源码+数据)【独一无二】

一、设计要求

编写成语接龙游戏。利用给定的成语词典库文件idiom.txt,完成如图所示的基本功能。


请输入一个字:花

花明柳媚

眉清目秀

ok,请继续!

秀色可餐

ok,请继续!

参天大树

不对啊,请重新输入。输入回车自动接龙,输入0结束

参天古树

不对啊,请重新输入。输入回车自动接龙,输入0结束

0


成语文档如下:

56282d73a1b4475a96e1dd9b14435382.png


👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 成语接龙 ” 获取。👈👈👈


要求完成如下内容:

【难度1级】生成人机对话的接龙过程,完成接龙成语判定,回车自动接龙,按0结束基础功能。

【难度2级】在难度1级的全部功能基础上,接对部分+1分,机器提示部分+0分,显示最后总积分。

【难度3级】在难度1级和2级的基础上,输入第1个字不能是“tian”字音,最终接龙目标为“天天向上”,对于机器提示部分最多3次,人的接龙部分最多30次。若接龙成功,显示祝贺和积分。若接龙失败,显示鼓励和积分


二、功能展示

2.1. 难度一

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 成语接龙 ” 获取。👈👈👈


2.2. 难度二


2.3. 难度三

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 成语接龙 ” 获取。👈👈👈


三、代码分析

代码定义了一个成语接龙游戏的类 IdiomSolitaireGame,它包含了三种不同的游戏模式,根据用户选择的难度,会调用不同的游戏方法。


1.导入模块和定义文件头部信息:

  • 导入了 random 模块用于随机选择成语。
  • 文件头部包含了项目名称、文件名、时间、作者等信息。


2.IdiomSolitaireGame 类的定义:

  • __init__ 方法:初始化游戏对象,加载包含成语的文件。
  • load_idioms 方法:从文件中加载成语和对应的拼音。
  • find_next_idiom 方法:根据给定的最后一个字母找到下一个成语。
  • get_pinyin_first_char 方法:获取拼音的第一个字母。
  • 三种不同游戏模式的方法:play_basic, play_with_score, play_target,分别对应基础模式、带积分的模式和目标成语模式。


3.游戏模式方法的功能:

  • play_basic 方法:基础模式,玩家输入一个字,程序随机选择一个以该字开头的成语,然后玩家继续接龙。
  • play_with_score 方法:带积分的模式,与基础模式类似,但玩家每接对一个成语得一分,并在游戏结束时显示总分。
  • play_target 方法:目标成语模式,玩家设定一个目标成语,然后从一个给定的字开始接龙,直到接到目标成语为止。


👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 成语接龙 ” 获取。👈👈👈


4.主程序:

  • 创建 IdiomSolitaireGame 的实例。
  • 根据用户选择的难度调用相应的游戏方法。
import random


class IdiomSolitaireGame:
    def __init__(self, filename):
        self.idioms = self.load_idioms(filename)

    def load_idioms(self, filename):
        with open(filename, 'r', encoding='utf-8') as file:
            idiom_dict = {}
            for line in file:
                parts = line.strip().split('\t')
                if parts:
                    # 其余程序略...
                    # 其余程序略...
                    # 其余程序略...
                    # 其余程序略...
                    # 其余程序略...
    # 其余程序略...
    # 其余程序略...
    
if __name__ == "__main__":
    game = IdiomSolitaireGame("idiom.txt")
    level = int(input("请选择游戏难度(1-3):"))
    if level == 1:
        game.play_basic()
    elif level == 2:
        game.play_with_score()
    elif level == 3:
        game.play_target()
    else:
        print("无效的难度选择,请重新运行程序选择1, 2, 或 3.")


这个程序提供了不同难度的成语接龙游戏,可以让用户选择适合自己水平的游戏模式进行游玩。


👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 成语接龙 ” 获取。👈👈👈

相关文章
|
11天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
40 0
|
9天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
27 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
9天前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
31 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
10天前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
22 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
6天前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
25 2
|
7天前
|
JSON 安全 数据安全/隐私保护
深度剖析:Python如何运用OAuth与JWT,为数据加上双保险🔐
【10月更文挑战第10天】本文介绍了OAuth 2.0和JSON Web Tokens (JWT) 两种现代Web应用中最流行的认证机制。通过使用Flask-OAuthlib和PyJWT库,详细展示了如何在Python环境中实现这两种认证方式,从而提升系统的安全性和开发效率。OAuth 2.0适用于授权过程,JWT则简化了认证流程,确保每次请求的安全性。结合两者,可以构建出既安全又高效的认证体系。
25 1
|
14天前
|
数据采集 存储 监控
如何使用 Python 爬取商品数据
如何使用 Python 爬取京东商品数据
27 3
|
13天前
|
数据采集 机器学习/深度学习 数据挖掘
数据也需SPA?Python转换大法,给你的数据做个全身放松SPA!
【10月更文挑战第4天】在数字化时代,数据犹如企业的血液,贯穿于各项业务之中。就像人需要定期SPA恢复活力,数据也需要“转换大法”来优化结构和提升质量,从而更好地支持决策分析与机器学习。本文探讨了如何使用Python进行数据SPA,包括理解需求、数据清洗、格式转换及聚合分析等步骤。通过Python强大的Pandas库,我们可以轻松完成缺失值填充、重复记录删除等任务,并实现数据格式的标准化,确保数据更加整洁、有序,助力高效分析与决策。为企业数据注入新的活力,迎接更多挑战。
17 1
|
14天前
|
数据采集 存储 监控
如何使用 Python 爬取京东商品数据
如何使用 Python 爬取京东商品数据
23 2
|
13天前
|
数据采集 监控 数据可视化
用Python构建动态折线图:实时展示爬取数据的指南
本文介绍了如何利用Python的爬虫技术从“财富吧”获取中国股市的实时数据,并使用动态折线图展示股价变化。文章详细讲解了如何通过设置代理IP和请求头来绕过反爬机制,确保数据稳定获取。通过示例代码展示了如何使用`requests`和`matplotlib`库实现这一过程,最终生成每秒自动更新的动态股价图。这种方法不仅适用于股市分析,还可广泛应用于其他需要实时监控的数据源,帮助用户快速做出决策。