Python : erreur input() vs non input()

Fermé
Thomas_9025 Messages postés 2 Date d'inscription dimanche 25 août 2019 Statut Membre Dernière intervention 25 août 2019 - 25 août 2019 à 19:55
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 26 août 2019 à 19:31
Bonjour,

Voici deux cas de deux lignes en python :

phrase=["a","b","c"]
phrase[2]="b"

phrase=input()
phrase[2]="b"


Celui comprenant le input() ne marche pas en entrant les mêmes caractères et renvoie :
'str' object does not support item assignment

L'autre fonctionne parfaitement.
Or, j'ai besoin de pouvoir entrer du texte.
Pourquoi est-ce ainsi et comment résoudre le problème ?
Merci d'avance

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
25 août 2019 à 20:04
phrase=["a","b","c"]
Créé un tableau de chaines de caractères

phrase=input()
Créé une chaine de caractères

Voici la différence entre ces 2 lignes.
1
Thomas_9025 Messages postés 2 Date d'inscription dimanche 25 août 2019 Statut Membre Dernière intervention 25 août 2019
25 août 2019 à 23:19
Merci pour ta réponse mais dans ce cas comment pourrais-je faire ?
J’ai besoin d’une suite pour chaque caractère, j’ai essayé le :
input().split("") mais ça ne marche pas puisqu’il n’y a aucun séparateur.
Y’a t-il une fonction qui permettrait de générer une suite à partir d’un input() ?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
26 août 2019 à 19:31
Selon ce sujet :
https://stackoverflow.com/questions/45848612/python-how-to-use-conditional-statements-on-every-element-of-array-using-s

Ce serai un truc su genre :
[i for i in phrase]
Sinon une boucle for fait aussi le taff.
0