-3
votes

Comment ne peut-il pas obtenir cette erreur: l'objet 'TUPLE' ne prend pas en charge l'affectation des éléments?

telefoon=("Sandra","06-1000000","Robin","06-111111","Tom","06-333333");

telefoon["Tom"]="06-333333";
telefoon["Sandra"]="06-1000000";
telefoon["Robin"]="06-111111";

naam=input("Van wie wil je het telefoonnummer weten?");
print(telefoon[naam]);

1 commentaires

tuples est immutalbe. Si vous souhaitez pouvoir attribuer et modifier des éléments, vous avez besoin d'une liste . (i.e Telefoon = ["Sandra", ...] ). Ce que vous semblez avoir besoin ici est un dict si: Telefoon = {"sandra": "06-1000000", ...} .


3 Réponses :


2
votes

L'erreur est que vous essayez d'attribuer des valeurs dans un tuple qui n'est pas possible comme des tuples en python sont immuables.

Faites ceci: xxx

aussi, les points-virgules ne sont pas nécessaires dans Python.


1 commentaires

Édité ma réponse



0
votes

Tourner Telefoon dans un dictionnaire: xxx


0 commentaires

2
votes

Dans Python, vous avez des types de données de collection que vous devez connaître: tuples, listes et dictionnaires. La différence de syntaxe est leurs parenthèses: xxx

tuples sont immuables, ce qui signifie que vous ne pouvez pas modifier sa valeur. C'est pourquoi vous obtenez l'erreur. listes sont très similaires mais sont mutables. Ce que vous voulez, c'est un dictionnaire parce que vous souhaitez attribuer une valeur à une chaîne de clé: xxx

et d'ailleurs: c'est python - Vous n'avez pas besoin de points-virgules;)


0 commentaires