2017-10-14 3 views
0

Pourquoi la sortie correcte n'est-elle pas correcte?La sortie du code est différente de celle attendue dans la fonction palindrome

Ceci est mon code:

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() 

Sortie:

inf 
Not a palindrome 111 

Il doit retourner Palindrome vrai et impression. Je ne comprends pas pourquoi je ne reçois pas la sortie.

+0

Commencer 'revNum' à zéro. – jackarms

+0

Je l'ai fait aussi. Ça ne marche pas. – rvc

+0

btw merci pour l'aide. – rvc

Répondre

0
Init 
    revNum = 0 

& Division de l'utilisation du sol (//), division normale résulte toujours flotter

temp = temp//10 

se réfèrent: https://www.programiz.com/python-programming/operators

Essayez de déboguer avec les instructions d'impression pour le dépannage.

+0

Merci! Oui, la division au sol m'a aidé! – rvc