1、概述

在python开发中要熟练字符串、列表、元组、字典等多种数据类型的使用,本文通过实现简单的成语接龙,来巩固python中的基础功能。

2、处理语料

我们可以从互联网上下载成语大全等语料,建议建议对语料进行处理和清洗之后读取到列表(list)中。请参考下面代码:

# 读取数据
file = open('data/ChengYu.txt','r',encoding='gbk')
line = file.readline()
data = []
while line:singledata = ''.join(line.split()).split('/')[0]data.append(singledata)line = file.readline()
file.close()
print('done')

可以检测一下存储的成语状态,请参考如下代码:

print(data[0:10])

输出结果如下图所示:

3、基本技巧

如果要实现成语接龙的游戏,必须要获取以某一指定汉字开头和某一汉字结尾的成语。

如下代码,筛选出了所有以”一“这个汉字开头的成语。

start_data = [w for w in data if w.startswith('一')]
print(start_data)

输出结果如下图所示:

下面就可以从这些成语中抽取一个作为备选,请参考如下代码:

import random
current_word=start_data[random.randint(0,len(start_data)-1)]
print(current_word)

输出结果如下图所示:

下面取得这个字符的尾字母,请参考如下代码:

end_char = current_word[-1]
print(end_char)

输出结果如下图所示:

然后再以这个汉字为字头抽取成语,在抽取过程中注意过滤已经出现的成语、发现无法找到下一个成语应该退出循环防止程序出错。

python成语接龙相关推荐

  1. python成语接龙源代码,基于Tkinter,带成语解释

    python成语接龙源代码,基于Tkinter,带成语解释,接龙规则接出上一个成语最后一字相同或近音的成语即可. 完整版源代码下载地址:python成语接龙源代码 main.py import tki ...

  2. #python# 成语接龙(三)

    #python# 成语接龙(一) #python# 成语接龙(二) "一招制敌"成语s: zu 挨肩并足 安分知足 败事有余成事不足 比上不足 兵精粮足 不祧之祖 不一而足 畅通无 ...

  3. python——成语接龙小游戏

    小试牛刀的简易成语接龙. 思路-- 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...

  4. python成语接龙到为所欲为_python成语接龙

    1.概述 在python开发中要熟练字符串.列表.元组.字典等多种数据类型的使用,本文通过实现简单的成语接龙,来巩固python中的基础功能. 2.处理语料 我们可以从互联网上下载成语大全等语料,建议 ...

  5. python成语接龙到为所欲为_Python小伙用简单爬虫实现成语接龙小游戏!

    闲来无事,写了一个成语接龙小游戏,抓取某成语接龙网站内容,请大家指正. Python实现这个功能非常简单,当然,这里我也是写了个简单版的,实现了基本功能就好.话不多说,先上干货: 开发前准备及思路: ...

  6. python成语接龙代码_#python# 成语接龙(一)

    本来想写一个机器人成语接龙的,太复杂了,弄一个可以找到所有的可以"一招制敌"的成语,就是没办法再被接龙的成语. 第一步是找一个带拼音的成语字库,网上找了半天,没找到合适的,发现搜狗 ...

  7. python成语接龙代码_python——成语接龙小游戏

    小试牛刀的简易成语接龙. 思路-- 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最 ...

  8. #python# 成语接龙(一)

    本来想写一个机器人成语接龙的,太复杂了,弄一个可以找到所有的可以"一招制敌"的成语,就是没办法再被接龙的成语. 第一步是找一个带拼音的成语字库,网上找了半天,没找到合适的,发现搜狗 ...

  9. python成语接龙到为所欲为_ParisGabriel:Python全栈工程师(0基础到精通)教程 第十八课(递归函数、闭包)...

    ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 全栈工程师 Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细小的功能,一系列函数的任意组合 ...

最新文章

  1. LeetCode简单题之连续字符
  2. 【22,23节】Django的GET和POST属性笔记
  3. linux启动时间极限优化,Linux启动时间的极限优化
  4. 论文笔记之:Deep Attributes Driven Multi-Camera Person Re-identification
  5. c++实现解析文件路径
  6. 计算机原理2408,《计算机组成原理实验》课程教学大纲
  7. [你必须知道的.NET] 调试技巧 - DebuggerDisplayAttribute
  8. HTML中的header标签怎么用?HTML中header标签的作用_header标签正确用法
  9. 从模型制作(3dmax)到网页显示(babylonjs)全过程介绍
  10. springsecurity实现MD5验证用户登录
  11. android 添加日历事件,android 本地日历插入事件
  12. gateway自定义负载均衡策略
  13. oracle转换成字符型,Oracle中将Clob字段转换成字符串
  14. iOS逆向工程-工具篇
  15. 微信与支付宝钱包的竞争分析
  16. 汇编语言的AX,BX,CX,DX,分别表示什么
  17. unity - 打出的IPA包太大
  18. 【Java基础系列】tob和toc的区别
  19. 题解洛谷P1497(c++解法)木牛流马
  20. 拆卸U2000服务器注意事项

热门文章

  1. 5G常见缩略语大全(一)
  2. 有帅帅帅哥看得懂吗?它是延时用的
  3. matlab db dbm dbfs,dB
  4. 现货跌期货涨(现货大涨期货就大涨吗)
  5. python俄罗斯方块的消除算法_1.1.3python tkinter实现俄罗斯方块基础版-生成、移动、固定、消除...
  6. Nova 最新高度集成的SoC NT98530用于开发4K@60的IPC产品_AI算法承载硬件_开发实例
  7. c++ 简易人员信息管理系统
  8. Midjourney之外21款免费的AI Image画图网站集合
  9. 天宝营养冲刺深交所:年营收12.5亿 拟募资7亿
  10. java socket ascii_TCP套接字上的ASCII - java