繁体   English   中英

为什么这个python程序无法启动?

[英]why won't this python program start?

我在教程论坛上复制了其他人编写的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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM