0
所以我試圖將參數num1和num2傳遞給函數gcd時運行到字符串格式錯誤。我不知道如何解決這個問題。由於我不熟悉Python編程,請耐心等待。謝謝!Python:字符串格式化和調用函數
#!/usr/bin/python
import sys
from collections import defaultdict
lines = sys.stdin.read()
lineArray = lines.split()
listLength = len(lineArray)
def gcd(a, b):
c = 0
if a > b:
r = a%b
if r == 0:
return b
else:
return gcd(b, r)
if a < b:
c = b
b = a
a = c
return gcd(a, b)
for x in range(0, listLength):
num1 = lineArray[x]
num2 = lineArray[x+1]
print num1, 'and', num2
print gcd(num1, num2)
print 'end'
請確保您在發佈的帖子中看到的縮進與腳本中的縮進相同,並且如果您收到異常,請發佈完整堆棧跟蹤(發生錯誤時解釋器吐出的所有內容)。 – Brionius
當前gcd(a,b)在函數中沒有任何行,因爲c = 0的縮進並且如果a> b:錯誤 – Back2Basics
您的問題是縮進。但是,即使正確縮進,遞歸函數(在該函數中調用相同的函數)也不會結束。所以修復這個縮進,你的新問題就是爲什麼這個函數的執行永遠不會結束 – samrap