任何个体都有自己的品牌;存在即有价值。

—— 传承者戚

本实例利用python实现类似于“上海自来水来自海上”的中文句子造句。实现效果如下:

长短计算尺算计短长

除根落水狗水落根除

黄金润滑油滑润金黄

马上话搭头搭话上马

馋嘴说瞎话瞎说嘴馋

风扇打拍子拍打扇风

顺耳话搭头搭话耳顺

面对计算机算计对面

集市落花生花落市集

难为继承人承继为难

世故知情人情知故世

……

python3.5 代码如下:

import 汉语词林

import jieba

import jieba.posseg # 结巴词性标注模块

# 程序编者:传习者戚

# 造句:类似于“上海自来水来自海上”的句子

# 统计运行时间计时开始

import datetime

begin = datetime.datetime.now()

def 单字词性(one_char):

return [i.flag for i in jieba.posseg.cut(one_char)][0]

def 词组词性排列(strings):

s = list(strings)

return list(map(单字词性, s))

# 搜索双字词语AB:倒叙过来也是常用词语BA。

double_char = 汉语词林.双字列表

double_char = [doub for doub in double_char if "v" not in 词组词性排列(doub)] # 没有动词

double_char = [doub for doub in double_char if doub[0] != doub[1]] # 双字不重复

double_char = [doub for doub in double_char if doub[::-1] in 汉语词林.双字列表] # AB倒序BA也是词组

print(len(double_char), double_char)

# 搜索三字词语XYZ:前两个字倒序也是词语YX。

tri_char = 汉语词林.三字列表

tri_char = [tri for tri in tri_char if "v" in 词组词性排列(tri[:2])] # 前两个词倒序 YX 中有动词

tri_char = [tri for tri in tri_char if tri[0] != tri[1]] # 前两字不重复

tri_char = [tri for tri in tri_char if tri[1] != tri[2]] # 后两字不重复

tri_char = [tri for tri in tri_char if tri[::-1][1:] in 汉语词林.双字列表] # 前俩字倒序YX也是词组

print(len(tri_char), tri_char)

# 组合成句子:A B X Y Z Y X B A

for d in double_char:

for t in tri_char:

s = d + t # A B X Y Z

t = s[::-1][1:] # Y Z B A

print(s+t) # A B X Y Z + Y X B A

# 统计运行时间计时结束

end = datetime.datetime.now()

print("\n运行时间:%s(%d秒)" % (end-begin,(end-begin).seconds))

上述程序还需要改进:双字词组AB和三字词组XYZ的语义关联。

python编写回文程序上海自来水来自海_回文句式初探:“上海自来水来自海上”...相关推荐

  1. 为了偷懒,我开始用Python编写Android应用程序

    为了偷懒,我开始用Python编写Android应用程序 说明 环境准备 开发环境准备(windows) 编译环境准备 自行配置制作编译环境 偷懒:直接下载配置好的虚拟机 编译 验证APK 总结 说明 ...

  2. 教你用Python 编写 Hadoop MapReduce 程序

    摘要:Hadoop Streaming 使用 MapReduce 框架,该框架可用于编写应用程序来处理海量数据. 本文分享自华为云社区<Hadoop Streaming:用 Python 编写 ...

  3. 使用Python编写网络扫描程序

    使用Python编写网络扫描程序 ​ 网络扫描程序通过向成百上千台计算机发送请求并分析其响应,扫描第2层和第3层网络中指定范围内的网络ID.利用某些扩展技术,网络扫描程序还可以获得通过Samba和Ne ...

  4. Python 编写的图形程序打包为安卓 APP、IOS

    如果想使用 Python 语言编写图形界面程序,那么有不少的框架可以提供支持,比如 Kivy.Tkinter.PyQt.WxPython.pyui4win等等. 这些框架都是只能创建桌面图形界面程序, ...

  5. python编写一计票程序,键盘输入候选人姓名(输入“#”结束),使用字典存储并统计出候选人得票数。python实现分段函数。

    一.编程题目         编程题目1:python编写一计票程序,键盘输入候选人姓名(输入"#"结束),使用字典存储并统计出候选人得票数.        编程题目2:pytho ...

  6. 使用python编写一个爬虫程序

    使用 Python 编写爬虫程序需要以下几步: 导入必要的库.你可以使用 requests 库来发送 HTTP 请求,使用 BeautifulSoup 库来解析 HTML/XML 文档. 构建爬取的 ...

  7. 如何使用Python编写简易木马程序

    这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全插件)来撸代码. 首先 准备好我们需要的依赖库,pytho ...

  8. Python编写简易木马程序

    0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 +JEDI(python自动补全 ...

  9. python 编写仓库管理程序

    好的,我可以提供一些建议来帮助你编写仓库管理程序. 首先,你需要确定仓库管理程序的功能.是否需要跟踪库存数量?是否需要记录进出货记录?是否需要提供报告?确定好你的需求后,你可以开始设计你的程序的数据结 ...

  10. 用Python编写录屏程序将播放的视频用截屏方法转换为多帧图像编辑后保存为GIF格式动图文件

    有时编写游戏后发博文,为使读者有一个直观的游戏效果,会把游戏运行动画转换GIF格式动图发到博文中.本文介绍如何用python PIL库ImageGrab.grab()函数截屏,编写录屏程序,将视频转换 ...

最新文章

  1. Java 时期格式 星期显示英文
  2. Linux 上的高可用中间件
  3. pygame精灵组有哪些方法_小精灵科学室-如何在活动中提高幼儿的探究能力和科学探究活动?...
  4. Maven的个性化定制
  5. java weka 聚类_简单开源数据挖掘工具weka进行文本聚类
  6. zz 聊聊并发(二)
  7. 分布式系统认证方案_分布式系统认证方案_Spring Security OAuth2.0认证授权---springcloud工作笔记136
  8. 【安装包】eclipseEE(IDE)
  9. Android 接收短信
  10. paip.检测信用卡账单数据的正确性算法
  11. python调用有道翻译API进行翻译
  12. 用手机玩转ContextCapture(Smart3D)跑出惊艳三维模型
  13. hive sql 行列转换
  14. Matconvnet完全安装及踩坑实录
  15. 学习记录:自平衡莱洛三角形v1(原理,代码)学习记录(一)
  16. ICLR 2020 图神经学习论文汇总
  17. 解决 Maven ‘parent.relativePath‘ of POM
  18. 剑指 Offer 24. 反转链表java
  19. 王逸凡的十万个为什么
  20. Java 破解谷歌翻译api,可以实现程序自动化翻译文章

热门文章

  1. win10系统去除桌面图标小箭头
  2. 在java中使用RBL服务器(中国反垃圾邮件联盟的CBL+使用)
  3. 中国商界的顶级秘法之一:民营企业的五层次策划
  4. Mtk ALPS Led驱动的加载过程
  5. 减肥成功,给自己的减肥之路留个纪念(测试博客)
  6. 一文看懂Android.bp和Androd.mk区别以及宏变量对应关系
  7. 2013中国旅游网站100强排行榜
  8. 前言-《揭示Kali Linux 》翻译连载02
  9. 利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了
  10. 上升沿判断语句_股票上升趋势中回调买入技巧,强势股顺势横盘突破买入法