je suis en essayant de mettre une clé comme argument de cette fonction, je ne trouve tout simplement pas comment faire ça:
Traceback (most recent call last): File "C:/Users/vion1/ele/Audric/TP 9.py", line 25, in <module> print(plane_ride_cost("Marseille")) File "C:/Users/vion1/ele/Audric/TP 9.py", line 9, in plane_ride_cost for key, value in city(): TypeError: 'str' object is not callable
J'ai eu cette réponse:
city = {"Paris": 183, "Lyon": 220, "Marseille": 222 ,"Surfers Paradise": 475} def plane_ride_cost(city): for key, value in city(): return value print(plane_ride_cost("Marseille"))
3 Réponses :
Vous avez remplacé la variable globale city
en utilisant le même nom de variable que l'argument de votre fonction. Renommez votre dictionnaire global en quelque chose comme villes
et faites-y référence à la place pour éviter la collision et les comportements indésirables.
Pas de parenthèses sur city
dans la fonction plane_ride_cost ()
, car elles sont utilisées pour les fonctions, et une chaîne n'est pas une fonction :)
def plane_ride_cost(city): for key, value in city.items(): #removed parentheses (was city()) return value
city = {"Paris": 183, "Lyon": 220, "Marseille": 222 ,"Surfers Paradise": 475} ##define the parameter as the key def plane_ride_cost(cityName): return city[cityName] #return the value from dictionary using the key passed print(plane_ride_cost("Marseille")) #returns 222
Je veux dire merci beaucoup pour toute cette aide rapide, désolé pour cette question de débutant, j'ai cherché BEAUCOUP avant de demander, mais pas de la bonne manière.