python & R 实现数字变古诗

输入数字转换为宋词的小程序


###实在太懒,不想手动一个个输数字——所以我写了一个小代码自动帮我把这些信息键入字典(U1S1我觉得这个挺方便的,以后更新字典词库也方便,比如)
###核心逻辑是:
###1)把字符串中的数字和汉字单独提取出来
###2)通过update功能一个个更新进去(我目前还是用for循环的,不知道update有没有支持向量的用法...)

stri = '00萧瑟 01空 21一笑 41深处 61一片 81不是 02东风 22黄昏 42时节 62桃李 82时候 03何处 23当年 43平生 63人生 83肠断 04人间 24天涯 44凄凉 64十分 84富贵 05风流 25相逢 45春色 65心事 85蓬莱 06归去 26芳草 46匆匆 66黄花 86昨夜 07春风 27尊前 47功名 67一声 87行人 08西风 28一枝 48一点 68佳人 88今夜 09归来 29风雨 49无限 69长安 89谁知 10江南 30流水 50今日 70东君 90不似 11相思 31依旧 51天上 71断肠 91江上 12梅花 32风吹 52杨柳 72而今 92悠悠 13千里 33风月 53西湖 73鸳鸯 93几度 14回首 34多情 54桃花 74为谁 94青山 15明月 35故人 55扁舟 75十年 95何时 16多少 36当时 56消息 76去年 96天气 17如今 37无人 57憔悴 77少年 97惟有 18阑干 38斜阳 58何事 78海棠 98一曲 19年年 39不知 59芙蓉 79寂寞 99月明 20万里 40不见 60神仙 80无情 100往事'
###在这里复制黏贴后我还是做了一下小处理的,手动把个位数换成了两位的形式,例如:1->01,2->02,不然后面处理不方便(这步我确实不知道怎么省掉)

import re
num1 = re.findall(r'\d+\d',stri)
letter1 = re.findall(r'\D+\D',stri)
diction={
   }
for i in range(0,100):
        diction.update({
   num1[i]:letter1[i]})
###最基础的正则表达式找一下,然后我们所有的'num':'letter'都存好啦!

x = input('input num')
x = x.replace('.','')

list1=list()
for i in range(0,len(x),2):
    list1.append(x[i:i+2])


###这里主要是为了处理比如3.1415这种小数的形式,删除了'.'

if len(
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值