2017-10-14 16 views
0

올바른 출력을 얻지 못하는 이유는 무엇입니까?코드 출력이 회문 함수에서 예상과 다른 경우

def main(): 
    num = 111 

    if (isPalindrome(num)): 
     print ("Palindrome",num) 
    else: 
     print ("Not a palindrome", num) 


def isPalindrome(num): 
    temp = num 
    revNum = 1 

    while temp > 0: 
     rightNum = temp%10 
     revNum = revNum * 10 + rightNum 
     temp = temp/10 

    print (revNum) 
    if revNum == num: 
     return True 
    else: 
     return False 

main() 

출력 :

inf 
Not a palindrome 111 

그것은 사실 및 인쇄 회문을 반환해야

내 코드입니다. 나는 왜 내가 결과물을 얻지 못하는지 이해하지 못하고있다. 문제 해결을위한 인쇄 문으로 디버깅 할 수 https://www.programiz.com/python-programming/operators

시도를 :

+0

0에서 'revNum'을 시작하십시오. – jackarms

+0

나는 그것을 또한했다. 그것은 작동하지 않습니다. – rvc

+0

도움을 주셔서 감사합니다. – rvc

답변

0
Init 
    revNum = 0 

& 사용 층 부문 (//), 일반 부문은 항상

temp = temp//10 

는 참조 떠 발생합니다.

+0

감사합니다! 네, 플로어 부서가 도와 줬어! – rvc