Aider moi pour l'éxercice 4/7 svp


#1

voici mon code qui quand je l'éxecute il va direct au elif

def hotel_cout(nuits):
return 140 * nuits

def avion_billet_cout(ville):

if ville == "Charlotte":
    return 183

elif ville == "Tampa":
    return 220

elif ville == "Pittsburgh":
    return 222

elif ville == "Los Angeles":
    return 475

def location_voiture_cout(jours):
jours = 40

if jours >= 7:
    return 40 + jours -50

elif jours >= 3:
    return 40 + jours -20

else:
    return jours

#2

Bonjour @scriptwhiz45729

Ta fonction hotel_cout() fonctionne bien, ta fonction avion_billet_cout() également.

Pour ta fonction location_voiture_cout(), je note un petit problème... :smile:

def location_voiture_cout(jours):
    jours = 40

    if jours >= 7:
        return 40 + jours -50

    elif jours >= 3:
        return 40 + jours -20

    else:
        return jours

J'imagine que tu veux définir une variable contenant le prix par jour mais en utilisant le même nom que ton paramètre, tu te trouve à écraser la valeur du paramètre que tu passe à ta fonction en lui assignant une valeur de 40 d'entrée de jeu. Un petit print pour débugger nous le confirme:

def location_voiture_cout(jours):
    print "jours est égale à: " + str(jours)
    jours = 40
    print "jours est maintenant: " + str(jours)

print location_voiture_cout(1)

Ensuite je remarque que tu additionne 40 à la valeur de "jours" et que tu soustrait 50 ou 20 tout dépendant le nombre de journées. Je crois que ce qui te permettra d'atteindre ton but c'est la multiplication du nombre de jours par le prix par jour.

Voilà ce à quoi devrait ressembler ta solution maintenant... :smile:

def location_voiture_cout(jours):
    prix_par_jours = 40
    if jours >= 7:
        return jours * prix_par_jours - 50
    elif jours >= 3:
        return jours * prix_par_jours - 20
    else:
        return jours * prix_par_jours
            


print location_voiture_cout(1)        # retourne 40$
print location_voiture_cout(2)        # retourne 80$
print location_voiture_cout(4)        # retourne 140$
print location_voiture_cout(10)       # retourne 350$

En espérant que ca t'ai aidé!