我對Python完全陌生,我一直試圖用它製作一個斐波那契程序。Python新手問題 - 我無法弄清楚我的問題到底是什麼
def fib(n):
print 'n =', n
if n > 1:
return n * fib(n - 1)
else:
print 'end of the line'
return 1
n = raw_input('Input number: ')
int(n)
fib(n)
當我嘗試運行這個程序,我得到輸入號碼後出現以下錯誤:
Input number: 5
n = 5
Traceback (most recent call last):
File "fibonacci.py", line 11, in
fib(n)
File "fibonacci.py", line 4, in fib
return n * fib(n - 1)
TypeError: unsupported operand type(s) for -: 'str' and 'int'
如果我跑瞭解釋和進口只是功能(無後它的代碼),提供n的值並以該值作爲參數調用該函數,它可以工作。
我試圖將輸入轉換爲int,因爲我認爲這是一個字符串問題,但沒有骰子。我真的不知道我哪裏出了問題,所以如果你可以請點亮這個主題,它將非常感激。
我很想將問題標題改爲特定的內容,但我並不真正瞭解問題所在。
請提供下一次 – 2017-11-15 08:08:34