2015-09-14 118 views
-2

在我意識到教授解釋它是2.7的方式並且我們應該使用python 3之前,我終於能夠獲得遞歸打印了。所以,當我更改IDE到3.4.3代碼不再起作用。將代碼從2.7.10轉換爲3.4.3

任何幫助改變語法爲3工作將不勝感激我只是沒有運氣搞清楚。

def fibonacci(n): 
    if n <= 2: 
     return 1 
    else: 
     print("Computing fibonacci(%d) + fibonacci(%d)") % (n-1 , n-2) 
     return fibonacci(n-1)+fibonacci(n-2) 

回答

5
print("Computing fibonacci(%d) + fibonacci(%d)") % (n-1 , n-2) 

這相當於(whatever print returns) % (n-1 , n-2)print返回None,它不支持百分號運算符。這解釋了TypeError: unsupported operand type(s) for %: 'NoneType' and 'tuple'錯誤。

百分比運算符需要在字符串旁邊,而不是旁邊的打印功能。最外面的括號對需要包含您的參數。

print("Computing fibonacci(%d) + fibonacci(%d)" % (n-1 , n-2)) 
+0

加1用於打印退貨無。 –