2017-05-07 1 views
-4

예를 들어 저는 두 개의 숫자가 있습니다 : 4532와 5489입니다. 첫 번째 숫자 인 4532와 4의 모든 자릿수, 즉 4-5, 4-4, 4-8 및 4-9의 모든 자릿수를 계산하고 싶습니다. .내가 어떻게 해?두 숫자의 숫자 차이를 어떻게 비교할 수 있습니까?

num = "4532" 
num2 = "5489" 
for j in num2: 
    if int(i)-int(j)<int(i)-int(j+1): 
     print(int(i)-int(j)) #I am getting list index out of bound exception 
+1

예상되는 결과는 무엇입니까? '4 - 4'는'0'입니까? –

+0

SO는 코드 작성 서비스가 아닙니다. 지금까지 뭐 해봤 어? –

+0

num의 첫 번째 숫자와 num2의 숫자 사이의 차이 만 계산하려는 경우 num 이상 반복하는 이유는 무엇입니까? 문제는 여전히 불분명하다. – timgeb

답변

0

좋은 코드는 아니지만 작동합니다. 원하는대로 조정할 수 있습니다.
같은 결과를 가진 두 자리 숫자가있는 경우 알지 못할 것입니다 (이 경우 일치하는 사람과 함께 남게됩니다)

이 예에서는 그것은 당신에게 가장 적은 차이를 줄 것입니다. 대신 결과를 저장하도록 변경할 수 있습니다.

num1 = 4532 
num2 = 5489 
ln2 = len(str(num2)) 
firstDigit = int(str(num1)[0]) 
lowest = None 
temp = num2 

for i in range(ln2): 
    last = temp % 10 
    temp //= 10 
    diff = abs(firstDigit - last) 

    if lowest is None or diff < abs(lowest - firstDigit): 
     lowest = last 

print(lowest) 
관련 문제