J'ai codé ce programme qui va prendre une phrase utilisateur, remplacer les mots de la phrase utilisateur par leur position et afficher la nouvelle phrase. Cependant quand je l'exécute le programme fonctionne bien mais si la phrase contient plus de 9 mots différents, les positions qui contiennent plus de chiffres sont montrées séparément. voici le code:Erreur d'espacement de sortie
UserSentence = input("Please enter sentence: \n")
UniqueWords = []
NewSentence = ""
splitsentence = UserSentence
splitsentence = splitsentence.lower().split()
for word in splitsentence:
if word not in UniqueWords:
UniqueWords.append(word)
for word in splitsentence:
NewSentence += str(UniqueWords.index(word)+1)
NewSentence = ' '.join(NewSentence)
print (NewSentence)
si je saisis cette phrase: « cette phrase contient plus de dix mots, mais la sortie est faux, je ne sais pas quoi dire » Le résultat attendu devrait être:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Mais au lieu que je reçois tous les numéros tous ensemble, même les numéros doubles chiffres sont séparés par un espace:
1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9
quelqu'un peut me aider t o résoudre ce problème?
Essayez 'print (NewSentence)' avant l'appel de 'join()'. –
j'ai déjà essayé mais je reçois toujours la sortie mais groupé comme ceci 12345678910111213141516171819 –
faites à NewSentence une 'liste' et ajoutez-y' NewSentence.append (str (UniqueWords.index (mot) +1)) ' – davedwards