小试牛刀的简易成语接龙。

思路——

1、网上下载成语字典的txt版本

2、通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快)

3、python程序,查找 用户输入的最后一个字和字典里首字一致的,放入列表,并通过random进行随机选择,然后输出

字典整理部分:转换成字典

file = open(r‘D:\Desktop\zidian.txt‘).readlines()

f= open(r‘D:\Desktop\zidian3.txt‘,‘w‘)

x={}

num=0for i infile:print i[2:10]

x[num]= i[2:10]

f.write("‘%s‘:u‘%s‘,\n"%(num,i[2:10]))

num+=1f.close()

转换成字典——类似格式

chengyu = {

‘0‘:u‘阿党比周‘,

‘1‘:u‘阿平绝倒‘,

‘2‘:u‘阿权膴仕‘,

‘3‘:u‘阿时趋俗‘,

‘4‘:u‘阿世媚俗‘,

‘5‘:u‘阿世取容‘……}

判断部分:通过input获取成语,然后截取最后一个字,在字典中寻找该字开头的成语,并输出。加入try,except,防止找不到成语的错误。(字典不全,只有20000+数据)

while 1:

list = []

s =raw_input(‘请输入成语:‘)

ns = s.decode(‘gbk‘)[-1:]

try:

for i in chengyu.values():

ni = i[:1]

if ns == ni:

list.append(i)

print u‘接龙:‘,len(list),random.choice(list)

except:

print u‘接龙:是在下输了‘

效果图:没有进行优化处理,没有判断用户输入是否输入正确成语。

程序比较简易,主要困难在于编码的转换,困惑了很久。

1、判断字是否相等的时候,如果编码格式不一致,是不能比较的,会发生错误。str是gbk编码,先解码成unicode,然后在进行比较。

2、如果不知道编码,可使用isinstance(s, unicode)判断,或者import  chardet,然后用chardet.detect(TestData)查询格式

3、先解码s.decode(‘gbk‘)[-1:],和s[-1:].decode(‘gbk‘)是不一样的效果,前者是对的,后者也会出错

原文:http://www.cnblogs.com/vhills/p/7000791.html

python中成语接龙游戏_python——成语接龙小游戏相关推荐

  1. python编程猜拳小游戏_python实现人机猜拳小游戏

    今天的这篇文章呢是对人机猜拳小游戏--石头剪刀布的一个描述以及代码展现 石头剪刀布游戏代码的简介:关于石头剪刀布这个小游戏,大致得到思路就是,玩家出一个手势,然后电脑再随机出一个手势,最后再判断是玩家 ...

  2. python实现飞机大战游戏_python实现飞机大战小游戏

    本文实例为大家分享了python实现飞机大战的具体代码,供大家参考,具体内容如下 初学Python,写了一个简单的Python小游戏. 师出bilibili某前辈 pycharm自带了第三方库pyga ...

  3. python贪吃蛇小游戏_python开发贪吃蛇小游戏

    3.概要设计 3.1 程序功能模块 由设计应解决的问题可知,本次的设计是使用用方向键来实现一个简易的贪吃蛇小游戏的程序,具体的功能模块如图3-1所示. 图3-1 程序功能模块 Fig.3-1 prog ...

  4. python编写猜大小游戏_python编写猜数字小游戏

    本文实例为大家分享了python编写猜数字小游戏的具体代码,供大家参考,具体内容如下 import random secret = random.randint(1,30) guess = 0 tri ...

  5. python中set和dict类型_python从菜鸟到小仙的成长之路-----Dict和Set类型篇

    Dict: 花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可.最后一个 key: value 的逗号可以省略. d = { 'Adam': 95, 'Lisa': 85 ...

  6. python中显示第三行数据_Python数据分析及可视化-小测验

    image.png 首先将5题的文件复制形成副本,如下图所示: image.png 在资源管理器的路径中输入cmd,如下图所示: image.png 在上图中输入后,按Enter键运行进入cmd窗口. ...

  7. [转载] python中for语句用法_详解Python中for循环的使用_python

    参考链接: 在Python中将else条件语句与for循环一起使用 这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 &q ...

  8. python中for语句用法_详解Python中for循环的使用_python

    这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下 for 循环 本系列前面 "探索 Python,第 5 部分:用 Python 编程&q ...

  9. python中异或怎么算_python 异或运算的前提_异或运算公式

    Python基础(10)–数字-Python-第七城市 609x288 - 73KB - JPEG Python基础(10)--数字_资讯_突袭网 609x288 - 33KB - JPEG pyth ...

  10. python中导入模块的方式_Python中几种导入模块的方式总结

    模块内部封装了很多实用的功能,有时在模块外部调用就需要将其导入.常见的方式有如下几种: 1 . import >>> import sys >>> sys.path ...

最新文章

  1. python工程师-史上最全Python工程师常见面试题集锦,有这一份就够了
  2. 2021天翼杯 密码官方wp
  3. 序列化与反序列化的简单认识
  4. ffmpeg编译 MingW + MSYS
  5. android one x2,HTC One X 深度OS Android4.1.2 大气不失稳重 雍容华贵 流畅运行
  6. [转]C++类成员修饰const和mutable
  7. 业内对楼市回暖时间几成共识:尚需一年
  8. C语言房地产销售管理系统,房地产销售管理系统的设计与实现
  9. php goeasy,Goeasy数据推送 - 使用goeasy由后端向前端推送数据 – 基于ThinkPHP和Bootstrap的极速后台开发框架...
  10. php fpm 504,php进程超时接口返回504错误分析
  11. Apache POI Excel固定(冻结)单元格
  12. @huangcheng: Fedora 9 GDM开启XDMCP
  13. 计算机指令包括哪2部分,机器指令分为哪几部分
  14. ethtool查看网卡统计信息的流程
  15. 【IoT】 产品设计:竞品分析思维(WHW模型)
  16. 开通共享毛巾机小程序
  17. 预测算法——指数平滑法
  18. bzoj 1226 学校食堂
  19. 大海航行靠舵手,FONE将把财务数字化的航船带向何方?
  20. php 登录 登出,个人博客—用户登陆登出

热门文章

  1. 用汇编语言程序设计实现c=a b,西安交通大学18年3月课程考试《汇编语言程序设计》作业考核试题...
  2. 在新版本WHM (64.0)中安装php5.3
  3. 关于大屏拼接方案 触摸屏 红外 和 电容屏
  4. 如何彻底解决浏览器导航被劫持为www.hao123.com
  5. 【转】Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
  6. 用ESXi-Customizer 为ESXI镜像加入硬件驱动
  7. 海康威视接口在线调试
  8. canvas初识及其简单使用
  9. SceneTree类
  10. Python-爬虫-requests库用语post登录