gpt4 book ai didi

python - 为什么这个 python 程序不启动?

转载 作者:行者123 更新时间:2023-11-28 22:58:55 26 4
gpt4 key购买 nike

我在教程论坛上复制了别人写的python程序的源代码,并对其进行了一些修改以符合我自己的需要

我相信原版是在 python shell 中运行的,我让它在 shell 中运行,但我需要将它保存到 python IDLE 并从那里运行

我正在使用 python 3.2.3 IDLE btw这是我写的:

def fibonacci(previous=0,current=1):
n = int(input("Calculate fibonacci sequence value up to: "))
if previous > current:
previous,current = current, previous
yield previous
yield current
while True:
current,previous = previous+current,current
yield current

x = fibonacci()
for i in range(n):
print(next(x))
fibonacci()

它没有运行,就像没有弹出错误一样,我只是得到了箭头:>>就是这样,什么也没发生。

最佳答案

程序确实启动并运行完毕。不幸的是,通过在函数中使用 yield,您使它成为一个生成器,并且生成器仅在最后一行构建,但从未计算过。

相反,您想取消缩进最后四行:

def fibonacci(previous=0,current=1):
if previous > current:
previous,current = current, previous
yield previous
yield current
while True:
current,previous = previous+current,current
yield current

n = int(input("Calculate fibonacci sequence value up to: "))
x = fibonacci()
for i in range(n):
print(next(x))

关于python - 为什么这个 python 程序不启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13422505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com