python 智能造句,用生成器从给定单词造句
我试图写一个代码,可以创建几个句子和用户要求的单词,但我遇到了一些问题,无法从万能的谷歌找到答案。寻求任何建议(同时,我认为有一种方法可以缩短它)。在class CallCentre(object):
"""This is a class."""
def __init__(self):
self.nouns = ['koer', 'porgand', 'madis', 'kurk', 'tomat']
self.targets = ['koera', 'porgandit', 'madist', 'kurki', 'tomatit']
self.verbs = ['sööb', 'lööb', 'jagab', 'tahab', 'ei taha']
self.adjectives = ['ilus', 'kole', 'pahane', 'magus', 'sinu']
self.targetadjectives = ['ilusat', 'koledat', 'pahast', 'magusat', 'sinu']
self.sentence = 'noun verb target'
self.twosentences = 'sentence sentence'
self.beautifulsentence = 'adjective noun verb targetadjective target .'
self.generators = {
'noun': self.generator(self.nouns),
'target': self.generator(self.targets),
'verb': self.generator(self.verbs),
'adjective': self.generator(self.adjectives),
'targetadjective': self.generator(self.targetadjectives),
'sentence': self.generator(self.sentence),
'twosentences': self.generator(self.twosentences),
'beautifulsentence': self.generator(self.beautifulsentence)
}
def generator(self, array):
i = -1
while True:
i = (i + 1) % 5
yield array[i]
def create_sentence(self, syntax):
for w in syntax.split:
if w == 'noun':
next(self.generators['noun'])
elif w == 'target':
next(self.generators['target'])
elif w == 'verb':
next(self.generators['verb'])
elif w == 'adjective':
next(self.generators['adjective'])
elif w == 'targetadjective':
next(self.generators['targetadjective'])
elif w == 'sentence':
next(self.generators['sentence'])
elif w == 'twosentences':
next(self.generators['twosentences'])
elif w == 'beautifulsentence':
next(self.generators['beautifulsentence'])
if __name__ == '__main__':
centre = CallCentre()
print(centre.create_sentence('noun'))
以下是错误消息:
^{pr2}$
python 智能造句,用生成器从给定单词造句相关推荐
- python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法
python输入一个正整数(位数不限),将其倒序输出def inversenum(num) numlist=liststr(nun) while numlist[-1]='0': numlist. p ...
- Python文档字符串生成器:基于CodeBERT,支持Google、Numpy等多种输出格式
木易 发自 凹非寺 量子位 报道 | 公众号 QbitAI 又一款懒人神器问世了: Visual Studio Code的扩展,基于CodeBERT的Python文档字符串生成器. 看来现在,这群偷 ...
- Transformer课程 业务对话机器人 Python使用高级的生成器方法
Transformer课程 业务对话机器人 Python使用高级的生成器方法 您是否曾经使用过非常大的数据集,导致机器的内存溢出?或者,您可能有一个复杂的函数,每次调用它时都需要维护一个内部状态,但该 ...
- Python之迭代器和生成器(Day17)
一.可迭代对象(iterable) 刚才说过,很多容器都是可迭代对象,此外还有更多的对象同样也是可迭代对象,比如处于打开状态的files,sockets等等.但凡是可以返回一个迭代器的对象都可称之为可 ...
- python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...
[摘要]今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题.如果参考答案不够好,或者有错误的话,麻烦大家可以在留言 ...
- python英文单词及其出现次数-Python读取英文文件并记录每个单词出现次数后降序输出示例...
本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...
- python 均方误差_一个很随意的Python智能优化库,一个文件就是一个库-- PySwarm
之前无聊做了个简单的Python智能算法库的小总结:Python智能优化算法库小汇总 .当时没注意到有一个库PySwarms是基于另外一个小库 PySwarm开发的. 这个库非常有意思,整个库只依赖N ...
- python关键字列表的表达式,python 列表推导和生成器表达式的使用
序列 序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不可变序列与可变序列. 容器序列与扁平序列 容器序列存放的是对象的引用,包括list.tuple.collections.de ...
- python之迭代器,生成器
一,迭代器 1.1什么是可迭代对象? 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. 我们怎么来证明这一点呢? from collections import Iterabl ...
最新文章
- 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
- Python排序dict之list数组
- 微软 WinGet 抄袭 AppGet 始末,个人开源的困境该如何破?
- JDBC连接oracle连接池问题解决
- 【转】找到 MySQL 数据库中的不良索引
- AKOJ-2037-出行方案
- 这些最常用的Linux命令,每一条都应该学会!
- 网工路由基础(1)静态路由
- TCP系列48—拥塞控制—11、FRTO拥塞撤销
- python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
- C#删除字符串最后一个字符的几种方法
- BZOJ 3529 数表(莫比乌斯+树状数组)
- 从socket中可以获取信息
- Nginx 安装 启动 停止 重启
- 手把手教你python实现量价形态选股知乎_Python实现量化选股
- 【渗透技巧】pop3协议渗透
- Dwz 国产框架 JUI 分页组件下拉菜单bug解决方案
- mac下用mysql执行sql文件完整
- 网络爬虫---从千图网爬取图片到本地
- AI世界依旧在“风起云涌”中变化