-1
votes

Inverser une chaîne avec des chiffres doubles et triple chiffres avec SLICE ARR [:: - 1]

Je veux imprimer les données d'une chaîne, en sens inverse. L'extrait de code ci-dessous ne fonctionne que pour les nombres à un chiffre: c.-à-d. Il se retourne 19 à 91 ...

def reverse_string(arr):
        # Reverse a string quickly
        return arr[::-1]


if __name__ == '__main__':
    n = int(input())
    # str = return string for object input
    # " ".join() = drop [] & "" from output
    arr = str(" ".join(input().split(" ")))

    print((reverse_string(arr)))


4 commentaires

Qu'entendez-vous par «la méthode la plus propre»?


Split en mots, inverser la liste. Faire quelques tâches simples d'affilée ne le rend pas spécial. Assurez-vous simplement d'avoir un bon test unitaire. Vous devriez publier votre code et si vous êtes vraiment bloqué, nous pouvons vous aider.


Le code que vous avez mis ici ne fonctionnera pas comme vous l'avez décrit. Je pense que vous avez copié le problème. n = int (entrée ()) doit être n = entrée () et arr = str ("" entrée (). Split ("" )))) devrait être arr = str ("". Joindre (n.split (""))) Pour obtenir la sortie que vous décrivez.


Merci les gars! Vos commentaires sont utiles. Par "Clean Code" Je suppose que je viens de dire simple que possible tout en maintenant O (1). :)


3 Réponses :


0
votes

Vous ne devriez pas convertir l'entrée en int. Je suppose que vous entrerez simplement entier séparé par des espaces, le code suivant vous aidera:

n = input()
arr = n.split()
print(*reverse_string(arr))


3 commentaires

Pourquoi utiliser une compréhension de liste lorsque vous ne modifiez pas Art du tout?


@Franciscocouzo, merci bonne prise! Parfois, je suis nerveux en répondant à XD.


Merci à vous deux. :)



0
votes

Votre code a la bonne idée, mais vous devez rejoindre la liste à une chaîne après l'inversion.

Modification: P>

arr = input().split(" ")
print(" ".join(reverse_string(arr)))


0 commentaires

1
votes

1. Sortie: numéros (entiers)

avec compréhension de la liste Vous pouvez transformer en entiers tous les éléments du tableau formé divisé la chaîne: p> xxx pré>

sortie (Liste des entiers): P>

>>> arr
'2 200 3 43 1 5'


1 commentaires

Je suis nouveau, alors mon upvote ne fonctionne pas encore, mais votre commentaire était extrêmement utile. Merci!