2014-07-11 106 views
0

很抱歉,如果這個問題已經回答了,因爲它有點基本的,但耶:通話功能的外殼

def fib2(n): 
    a, b=0, 1 
    fiblist=[] 
    while a<n: 
     fiblist.append(a) 
     a, b=b, a+b 
    return(fiblist) 

fib2(100) 

所以這個程序應該列出一些Fibonacci數,所以它的作用。事情是,當我在上面的程序中調用函數時,列表仍然不顯示當我運行該程序。出現這種情況的唯一的事情是,這兩個行會出現:

>>> 
>>> 

但如果我只是定義了FIB2(n)函數沒有調用它的最後一行,然後在外殼調用它來代替,顯示的列表在殼

爲什麼呢?在程序中調用函數與在shell中調用函數之間有區別嗎?

回答

0

是...喲必須使用打印功能,一PROGRAMM不是一個交互的shell

+0

嗯好吧tankyou爲快速的答案!如果你想要顯示函數的值,你有什麼想法你需要做什麼?如果在shell中輸入print(fib2(n)),則會顯示該值,但如果在程序中執行此操作,則不會顯示該值。 – pineappleexpress

+0

在你的代碼中寫下這行:print fib2(n) – dhalfageme

+0

好的,謝謝! – pineappleexpress

1

Python交互式shell顯示存儲在該位置的值指向一個變量時,你只需要輸入該變量。

>>> a=10 
>>> a 
10 
>>> b="string" 
>>> b 
'string' 
>>> c="str\\ing" 
>>> c 
'str\\ing' 
>>> print c 
str\ing 

當你在程序(python .py)上運行解釋器時,這個沒有完成。爲了看到任何價值,你必須打印它。

+0

好的,謝謝你的詳細解釋! – pineappleexpress