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.