为什么Python关键字yield会让我的程序永远运行?

问题描述 投票:0回答:1
def square():
    for x in range(4):
        yield x ** 2
square_gen = square()
for x in square_gen:
    print(x,end=" ")

上面的代码是我在Pycharm中写的。当我运行代码时,我得到以下输出。

为什么代码永远不会停止并显示“>>>”让我输入一些内容。我对 python 比较陌生。谁能告诉我为什么?

python yield
1个回答
0
投票

您正在使用Python控制台模式。那个

>>>

表示代码已完成,控制台正在等待您的输入。

改用常规的“运行”命令,这样您的程序就可以在没有交互式控制台集成的情况下运行。

© www.soinside.com 2019 - 2024. All rights reserved.