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

思路——

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)查询格式(偶然看到关于编码,这里有比较好的说明http://www.cnblogs.com/drsnow/p/7017129.html)

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

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

  1. python十点半游戏代码_Python实现Pig Latin小游戏实例代码

    前言: 本文研究的主要是Python实现pig Latin小游戏的简单代码,具体介绍如下. Pig Latin是一个语言游戏. 步骤: 1.让用户输入一个英文单词 2.确保用户输入一个有效单词 3.将 ...

  2. python塔防小游戏代码_Python制作塔防小游戏

    开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. ​ 原理介绍 游戏规则简介: 玩家通过建造箭塔抵御敌人的进攻. 每隔一段时间,将会有一波敌人从 ...

  3. python接水果游戏代码_Python开发接水果小游戏编程

    我研发的Python游戏引擎Pylash已经更新到1.4了.现在我们就来使用它完成一个极其简单的小游戏:接水果.以下是游戏截图: vc/yvPy/2NbGyMvO79LGtq+jrMq5yMvO79P ...

  4. python如何使板子移动_python实现移动木板小游戏

    本文实例为大家分享了python实现移动木板小游戏的具体代码,供大家参考,具体内容如下 一.游戏简介 本游戏是通过python编写的小游戏,给初学者熟悉python编程语言抛砖引玉,希望有所帮助. 成 ...

  5. python飞机大战加背景音乐_python实现飞机大战小游戏 python飞机大战中的音频文件怎么改成MP3...

    怎么样用Python写飞机大战游戏 python开发飞机大战外星人游戏怎么弄双人模式新的一年,哪怕仍是一个人,也要活得像一支队伍,为自己的头脑和心灵招兵买马,不气馁,有召唤,爱自由. 主函数 impo ...

  6. python小游戏-16行代码实现3D撞球小游戏!-源码下载

    python小游戏-16行代码实现3D撞球小游戏!-源码下载 所属网站分类: 资源下载 > python小游戏 作者:搞笑 链接: http://www.pythonheidong.com/bl ...

  7. Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面

    Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面 from tkinter import * from tkinter import messagebox 导入提示框 from ...

  8. python50行小游戏_50行python代码实现的贪吃蛇小游戏

    50行python代码实现的贪吃蛇小游戏 发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递 Python编程语言Python 是一种面向对象. ...

  9. Python版基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式

    基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式 按空格进入单人模式,按't'进入双人模式,双人模式下玛丽1采用空格键上跳,玛丽2采用方向上键上跳. 完整代码下载地址:Pyth ...

最新文章

  1. java 图片不更新,图片下传页面不能及时更新,求解
  2. java 正则 捕获_Java通过正则表达式捕获组中的文本
  3. 【Python】青少年蓝桥杯_每日一题_6.11_打印星号
  4. QtGraphicView添加图元
  5. 究竟什么是Linux内核?我该如何高效学习?​
  6. MapReduce中的InputFormat(1)概述
  7. java解析多层嵌套json字符串
  8. MySQL step by step 安装实战
  9. java调用js模板引擎_JavaScript模板引擎应用场景及实现原理详解
  10. JS中去除字符串空格trim()函数
  11. 推荐一本Python数据挖掘的好书
  12. 浏览器打开exe(IE和谷歌)
  13. 通过Godaddy抢注域名
  14. 微信开放平台、公众平台的区别
  15. 一个使用CC2530实现的Zigbee红绿灯
  16. 微信撤回 服务器已删除,微信撤回已经毫无用处,99%都能找回!
  17. 18、DQL(分页查询:limt)
  18. [Crypto]ECB模式攻击
  19. UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 的解决方法
  20. 安服/渗透测试面试问题总结

热门文章

  1. u盘删除的文件在哪里?u盘数据如何恢复?
  2. [建议收藏] 文件共享教程
  3. bash 统计当前目录文件数量
  4. 100多种流氓插件集合
  5. 推荐算法 itemcf java_推荐系统之基于物品的协同过滤算法(ItemCF)
  6. 电脑键盘使用指南-基础版
  7. 邯郸图腾服务器机柜系列,图腾机柜G系列产品
  8. 2021-08-15面向对象
  9. unique_ptr失效后的奇怪现象
  10. C语言宏定义用法总结