当前位置: 首页 > news >正文

Python实现成语接龙

如图:

详细代码实现:

# coding:utf-8
import string
import pypinyin
import sys
import randomprint("初始化中,请稍等……")def main():f2 = open('./idiom.txt', 'r', encoding='utf-8')f = f2.read()  # 一次性读取完成new3_list = f.split("\n")robot = ["哀鸿遍野", "言外之意", "口干舌燥", "地久天长", "不期而遇", "坐享其成", "知书达理", "遮天蔽日", "张灯结彩","再接再厉", "月明星稀", "缘木求鱼", "永无止境", "引人入胜", "易如反掌", "烟消云散", "形影不离", "相依为命","万马齐喑", "脱口而出", "天下太平", "手下留情", "杀气腾腾", "日月如梭", "全力以赴", "倾盆大雨", "奇形怪状","朴实无华", "呕心沥血", "名不虚传", "眉开眼笑", "马到成功", "良苦用心", "聚沙成塔", "尽心尽力", "豁然开朗","和颜悦色", "骨肉相连", "恶语伤人", "得意门生", "大惊小怪", "层次分明", "半死不活"]for i in new3_list:randomvar = random.randint(0, 1)if randomvar == 0:robot.append(i)robotpy1 = []for k in robot:robotpy1.append(pypinyin.pinyin(k, style=pypinyin.NORMAL)[0])py2_l = []py2 = ""for i2 in new3_list:for i in pypinyin.pinyin(str(i2), style=pypinyin.NORMAL):i = str(i).replace("[", '')i = str(i).replace("]", '')i = str(i).replace("'", '')py2 = py2 + str(i)py2_l.append(py2)def ifcy():for i in new3_list:if i == da:return Truereturn Falseupcy = ' 'while True:js = Falseda = input("你:")py3 = pypinyin.pinyin(da, style=pypinyin.NORMAL)[0]py6 = pypinyin.pinyin(da, style=pypinyin.NORMAL)[len(pypinyin.pinyin(da, style=pypinyin.NORMAL)) - 1]upcy1 = pypinyin.pinyin(upcy, style=pypinyin.NORMAL)[len(pypinyin.pinyin(upcy, style=pypinyin.NORMAL)) - 1]py = ""for i in pypinyin.pinyin(da, style=pypinyin.NORMAL):i = str(i).replace("[", '')i = str(i).replace("]", '')i = str(i).replace("'", '')py = py + str(i)if ifcy():if not upcy == " ":if py3 == upcy1:print("你接上了!!!")else:print("你没有接上,所以输了!!!")input("按回车退出!!!")sys.exit()l = 0for py5 in robotpy1:if py5 == py6:print("小土豆:" + robot[l])upcy = robot[l]js = Truebreakl = l + 1else:print("不是成语!!!")input("按回车退出!!!")sys.exit()if not js:print("我输了,不过我会学习的!!!")input("按回车退出!!!")sys.exit()def trydef(max_attempts=3):  # 设置一个最大尝试次数if max_attempts == 0:print("达到最大尝试次数,退出程序。")returntry:main()except Exception as e:print(f"发生异常:{e}")trydef(max_attempts-1)  # 减少尝试次数trydef()

关注私信我!发送idiom.txt文件!!!

http://www.lryc.cn/news/165342.html

相关文章:

  • 继续上一个爬虫,所以说selenium加browsermobproxy
  • Sentinel服务熔断和流控
  • 01_TMS320F28004x系列MCU介绍和资料搜集
  • JavaScript中获取对象属性的不同方法
  • 【STM32教程】第四章 STM32的外部中断EXTI
  • 力扣第40天----第121题、第122题
  • Flask 使用 JWT(二)
  • 从0到1理解ChatGPT原理
  • 如何解决 “Component cannot be used as a JSX component“
  • 小程序自定义tabbar
  • 分布式系统第五讲:分布式事务及实现方案
  • 算法通关村17关 | 透析跳跃游戏
  • ARM接口编程—RTC(exynos 4412平台)
  • 数据分享|WEKA信贷违约预测报告:用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归...
  • 逆市而行:如何在市场恐慌时保持冷静并抓住机会?
  • SpringBoot项目在Linux上启动、停止脚本
  • 基于32位单片机的感应灯解决方案
  • 机器学习——支持向量机(SVM)
  • HTTP协议初识·下篇
  • c++ 类的实例化顺序
  • Vue自动生成二维码并可下载二维码
  • 应该下那个 ActiveMQ
  • 【C语言】指针详解(3)
  • 告别HR管理繁琐,免费低代码平台来帮忙
  • Java开发面试--Redis专区
  • Ansible-roles学习
  • python3如何安装各类库的小总结
  • ffmpeg 特效 转场 放大缩小
  • 【GNN 03】PyG
  • 每日刷题-5