我试图写一个代码,可以创建几个句子和用户要求的单词,但我遇到了一些问题,无法从万能的谷歌找到答案。寻求任何建议(同时,我认为有一种方法可以缩短它)。在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 智能造句,用生成器从给定单词造句相关推荐

  1. python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法

    python输入一个正整数(位数不限),将其倒序输出def inversenum(num) numlist=liststr(nun) while numlist[-1]='0': numlist. p ...

  2. Python文档字符串生成器:基于CodeBERT,支持Google、Numpy等多种输出格式

    木易 发自 凹非寺  量子位 报道 | 公众号 QbitAI 又一款懒人神器问世了: Visual Studio Code的扩展,基于CodeBERT的Python文档字符串生成器. 看来现在,这群偷 ...

  3. Transformer课程 业务对话机器人 Python使用高级的生成器方法

    Transformer课程 业务对话机器人 Python使用高级的生成器方法 您是否曾经使用过非常大的数据集,导致机器的内存溢出?或者,您可能有一个复杂的函数,每次调用它时都需要维护一个内部状态,但该 ...

  4. Python之迭代器和生成器(Day17)

    一.可迭代对象(iterable) 刚才说过,很多容器都是可迭代对象,此外还有更多的对象同样也是可迭代对象,比如处于打开状态的files,sockets等等.但凡是可以返回一个迭代器的对象都可称之为可 ...

  5. python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...

    [摘要]今天给大家解答一道Python常见的面试题,希望这个面试栏目,给那些准备面试的同学,提供一点点帮助!小编会从最基础的面试题开始,每天一题.如果参考答案不够好,或者有错误的话,麻烦大家可以在留言 ...

  6. python英文单词及其出现次数-Python读取英文文件并记录每个单词出现次数后降序输出示例...

    本文实例讲述了Python读取英文文件并记录每个单词出现次数后降序输出.分享给大家供大家参考,具体如下: 对文中出现的句号,逗号和感叹号做了相应的处理 sorted排序函数用法: 按照value值降序 ...

  7. python 均方误差_一个很随意的Python智能优化库,一个文件就是一个库-- PySwarm

    之前无聊做了个简单的Python智能算法库的小总结:Python智能优化算法库小汇总 .当时没注意到有一个库PySwarms是基于另外一个小库 PySwarm开发的. 这个库非常有意思,整个库只依赖N ...

  8. python关键字列表的表达式,python 列表推导和生成器表达式的使用

    序列 序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不可变序列与可变序列. 容器序列与扁平序列 容器序列存放的是对象的引用,包括list.tuple.collections.de ...

  9. python之迭代器,生成器

    一,迭代器 1.1什么是可迭代对象? 字符串.列表.元组.字典.集合都可以被for循环,说明他们都是可迭代的. 我们怎么来证明这一点呢? from collections import Iterabl ...

最新文章

  1. 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题
  2. Python排序dict之list数组
  3. 微软 WinGet 抄袭 AppGet 始末,个人开源的困境该如何破?
  4. JDBC连接oracle连接池问题解决
  5. 【转】找到 MySQL 数据库中的不良索引
  6. AKOJ-2037-出行方案
  7. 这些最常用的Linux命令,每一条都应该学会!
  8. 网工路由基础(1)静态路由
  9. TCP系列48—拥塞控制—11、FRTO拥塞撤销
  10. python删除字符串中重复字符_从Python中删除字符串标点符号的最佳方法
  11. C#删除字符串最后一个字符的几种方法
  12. BZOJ 3529 数表(莫比乌斯+树状数组)
  13. 从socket中可以获取信息
  14. Nginx 安装 启动 停止 重启
  15. 手把手教你python实现量价形态选股知乎_Python实现量化选股
  16. 【渗透技巧】pop3协议渗透
  17. Dwz 国产框架 JUI 分页组件下拉菜单bug解决方案
  18. mac下用mysql执行sql文件完整
  19. 网络爬虫---从千图网爬取图片到本地
  20. AI世界依旧在“风起云涌”中变化

热门文章

  1. Windows便捷长时间检测网络丢包
  2. 如何选择合适的进销存管理软件?这几点你需要知道
  3. 基于linux的贪吃蛇游戏设计_基于ECS的游戏引擎架构设计「译」
  4. COBIT5给企业带来什么样的价值
  5. 咪咕盒子MGV2000电视盒子刷机教程
  6. 好用的可视化数据建模工具
  7. 动态赋值_动态的赵爽弦图【GeoGebra制作教程】
  8. 中国“红客联盟”网上记者会发布重大澄清声明
  9. 基于iscsi存储的kvm动态迁移(V2V)
  10. 波动光学模拟和激光系统设计