用生成器模拟输入

Umlv的灾难恢复

以下代码不模拟输入,是否可以使用生成器来模拟输入?

    inputlist = [5,1,2,3,4,5,6]

    def mock_input(dummy_prompt=">>> "):
        global inputlist
        for u in inputlist:
                yield str(u)

    __builtins__.input = mock_input

    l=[]
    x= input()
    for u in range(int(x)):
        l.append(int(input()))

    if l==inputlist[1:]:
        print("bravo")

错误是x是生成器而不是String。

我必须使用全局变量创建自己的生成器,还是错过语法中的某些内容。

夸大

您要分配一个生成器,__builtins__.input而不是使用生成器进行迭代并返回一个值,这就是为什么它不起作用的原因。

而是使用创建一个generateiter并使用它进行迭代next(..)

inputlist = [6,1,2,3,4,5,6]
gen = iter(inputlist)

def mock_input(dummy_prompt=">>> "):
    return str(next(gen))

__builtins__.input = mock_input

l=[]
x= input()
for u in range(int(x)):
    l.append(int(input()))

if l==inputlist[1:]:
    print("bravo")

PS:我将列表的第一个数字修改为6,否则您丢失了一个项目,并且bravo没有打印

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

缓存生成器

来自分类Dev

用Python模拟无限生成器

来自分类Dev

从生成器调用生成器

来自分类Dev

比较模拟对象中的生成器对象。assert_has_calls

来自分类Dev

用随机数生成器播种随机数生成器池

来自分类Dev

Scala:在1到45范围内模拟乐透号码生成器

来自分类Dev

用自身的生成器替换变量

来自分类Dev

如何使用mock.patch模拟生成器

来自分类Dev

Javascript生成器函数-用C ++编写

来自分类Dev

ES6生成器:.next()的输入值

来自分类Dev

用生成器模拟输入

来自分类Dev

列出的Python生成器

来自分类Dev

如何使用生成器训练TensorFlow网络以产生输入?

来自分类Dev

使用生成器输入数据集,但得到IndexError

来自分类Dev

递归生成器

来自分类Dev

Tensorflow输入生成器用完了数据

来自分类Dev

为生成器定义的“输入”

来自分类Dev

在Python模拟中使用生成器来复制服务器响应

来自分类Dev

Laravel查询生成器:条件取决于用户输入

来自分类Dev

报表生成器3.0用where子句计数

来自分类Dev

用Java中的随机数生成器循环

来自分类Dev

密码生成器

来自分类Dev

如何断言使用生成器调用了模拟函数?

来自分类Dev

ES6生成器:.next()的输入值

来自分类Dev

用现有值初始化生成器

来自分类Dev

随机输入python生成器

来自分类Dev

如何模拟谷歌番石榴缓存生成器?

来自分类Dev

英特尔XDK模拟器中的ECMAScript生成器

来自分类Dev

我想创建一个生成器来生成任意两个输入生成器的交集