0
그래서 num1 및 num2 인수를 gcd 함수에 전달하려고 할 때 문자열 형식화 오류가 발생합니다. 이 문제를 해결하는 방법을 모르겠습니다. 필자가 파이썬 프로그래밍을 처음 접했을 때부터 저와 함께하시기 바랍니다. 감사!파이썬 : 문자열 포맷팅 및 호출 함수
#!/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