2017-02-18 1 views
-7

양의 정수가 주어지면 해당 자릿수의 순서를 반대로하고 반전 된 값을 반환합니다. 즉 입력이 12345 인 경우 54321을 반환해야합니다.문자열 또는 정수 연산없이 while 루프를 사용하여 숫자를 반전하는 방법은 무엇입니까?

내장 'int'또는 'str'함수를 사용할 수 없으며이 함수에서 문자열 조작을 수행 할 수 없습니다.

루프를 사용하여이 문제를 해결해야합니다. 내가 그것을 해결 신경 쓰지

import math 
def reverse_number(n): 
    sum = 0 
    n1 = n 
    while n1 > 0: 
     digit = round(math.log10(n1), 0) + 1 
     sum += math.floor((n1 % 10) * (10 ** (digit - 1))) 
     n1 = n1 // 10 
     sum = math.floor(round(sum, 0)) 
    return sum 
+1

숙제를 직접하십시오. –

+0

숙제가 의심 스럽습니다. –

+2

... 무엇을 했습니까? 오류가 발생 했습니까? 예기치 않은 값을 반환 하시겠습니까? [mcve]를 줘. – jonrsharpe

답변

0

:

지금까지 나는이 시도.

import math 
def reverse_number(n): 
    sum = 0 
    n1 = n 
    while n1 > 0: 
     digit = math.floor(math.log10(n1)) // 1 
     extracted = math.floor(n1 % 10) // 1 
     sum += math.floor(extracted * (10 ** digit)) // 1 
     n1 = n1 // 10 
     sum = math.floor(round(sum, 0)) 
    return sum 
관련 문제