2
votes

Comment inverser un nombre comme 001 en 100 en python?

Exemple d'entrée: 001

Exemple de sortie: 100

J'essaie quelque chose comme ça mais ça ne devrait pas marcher, quelqu'un peut-il m'aider.

 x = int(input())

 s = str(x)

 s1 = s[::-1]

 print(s1)


2 commentaires

N'utilisez pas int () ; sautez simplement cela, car vous perdrez des informations sur les zéros remplis.


Vous avez obtenu des réponses utiles, mais vous n'avez marqué aucune réponse comme acceptée. S'il-vous-plaît faites ainsi.


3 Réponses :


3
votes

Faites ceci:

x = input() # Type 001
output = x[::-1] # You obtain what you want: 100


0 commentaires

1
votes

La représentation sous forme de chaîne d'un entier n'inclut pas le remplissage par zéro du côté gauche par défaut. Mais vous pouvez y parvenir via str.zfill :

x = input()  # 001
s1 = x[::-1]

print(s1)    # 100

Vous pouvez également exiger que l'entrée soit remplie par zéro:

x = int(input())  # 1
s = str(x).zfill(3)
s1 = s[::-1]

print(s1)  # 100


0 commentaires

3
votes

En convertissant l'entrée en un entier dans votre première ligne avec l'appel à int () , vous supprimez l'information selon laquelle il y avait deux zéros non significatifs (dans votre exemple). Cela signifie que sur la deuxième ligne, appeler str () produit simplement '1' au lieu de '001' car cette information a été détruite dans le processus de conversion.

La solution est de ne pas convertir l'entrée, mais de la conserver sous forme de chaîne, en supprimant l'appel à int()

s=input()
s1=s[::-1]
print(s1)


0 commentaires