Programmation

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
Avatar de l’utilisateur
pierrelouisbourgeois
Membre Relatif
Messages: 192
Enregistré le: 19 Avr 2018, 11:06

Programmation

par pierrelouisbourgeois » 12 Oct 2019, 22:39

Bonsoir, voici un petit programme mais je ne parviens pas à faire afficher le résultat. Auriez-vous des idées?

Code: Tout sélectionner
print("Entrer le nombre d'enfants.")
nb_enfants = float(input())
print("Entrer le nombre d'adultes.")
nb_adultes = float(input())

def tarif_total(nb_enfants,nb_adultes):
    tarif1 = nb_adultes*70
    tarif2 = nb_enfants*45
    tarif_total = tarif1 + tarif2
    return tarif_total


Je vous remercie.



lyceen95
Membre Complexe
Messages: 2263
Enregistré le: 14 Juin 2019, 23:42

Re: Programmation

par lyceen95 » 13 Oct 2019, 08:46

Prenons ton code ligne à ligne.
La 1ère ligne est print. Ok, le programme execute cette ligne, il affiche la uestion.
Lignes 2 3 et 4 , ok.
Ensuite, tu Définis une fonction Tarif_total.
J'insiste sur le mot définis : tu prépares une fonction, mais nulle part tu n'exécutes cette fonction.

Dans ta fonction, rajoute une ligne print("test") juste avant la ligne return tarif_total,
et reteste ton programme ; ça ne change rien, cette ligne print() ne s'exécute pas, parce que la fonction n'est pas exécutée.

Maintenant, tout à la fin de ton programme, ajoute une ligne tarif_total(nb_enfants,nb_adultes)
Attention à l'indentation, il faut que cette ligne soit cadrée à gauche, parce qu'elle est dans le prolongement des 4 premières lignes, et pas dans le prolongement de la fonction.
Donc avec cette nouvelle ligne, on va enfin l'exécuter, notre fonction. Donc le print ("test"), on va le voir s'afficher.
Et dernière version, notre dernière ligne, ce n'est pas tarif_total(nb_enfants,nb_adultes) , mais print(tarif_total(nb_enfants,nb_adultes) )
Du coup, il va se passer quoi. Dans la fonction , il y a une instruction return, qui renvoie une valeur. Et c'est cette valeur qui est affichée quand on fait print (tarif_total(nb_enfants,nb_adultes))

Fais bien chacune des étapes de ce que je décris. Moi-même, je ne connais pas très bien Python, et j'ai préféré avancer étape par étape pour être sûr de ne pas me tromper. Donc toi, encore plus débutant, c'est la même chose.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Programmation

par fatal_error » 13 Oct 2019, 09:13

Hi,

Quelques remarques qui ne resoudront pas ton probleme (suis lyceen95 pour ca)

tu utlises float(input()) mais je pense pas que tu veuilles estropier tes semblables donc int(input()) plus adapté ;)

dans ta fonction tu utilises pour tarif_1 le deuxième argument de ta fonction, c'est un peu fatigant pour le cerveau.. tu peux conserver l'ordre, tarif_1 enfants, tarif_2 adultes
la vie est une fête :)

Avatar de l’utilisateur
pierrelouisbourgeois
Membre Relatif
Messages: 192
Enregistré le: 19 Avr 2018, 11:06

Re: Programmation

par pierrelouisbourgeois » 13 Oct 2019, 09:35

Merci beaucoup pour votre aide ; juste si je veux afficher le signe "€" à la fin du programme mais qui soit sur la même ligne que l'affichage du tarif total, comment faire?
Il faut le traduire en chaîne de caractère mais je crois que cela ne fonctionne pas avec les fonctions ou du moins je n'y arrive pas :/ (Le mieux serait même que toute la phrase qui affiche le résultat soit sur la même ligne ; ça doit être possible mais un peu plus compliqué)

Code: Tout sélectionner
print("Entrer le nombre d'enfants.")
nb_enfants = int(input())
print("Entrer le nombre d'adultes.")
nb_adultes = int(input())

def tarif_total(nb_enfants,nb_adultes):
    tarif1 = nb_enfants*45
    tarif2 = nb_adultes*70
    tarif_total = tarif1 + tarif2
    return tarif_total

print("Le tarif payé par le groupe sera donc de : ")
print(tarif_total(nb_enfants,nb_adultes))

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Programmation

par fatal_error » 13 Oct 2019, 09:39

tu peux concaténer tes trucs à afficher
Code: Tout sélectionner
print(var1, var2, var3, ...), ici
print('le tarif...: ', tarif_total(nb_enfants, nb_adultes))

nb print va automatiquement ajouter un espace, donc ici, tu pourrais oter l'espace après le caractère ':'
Code: Tout sélectionner
print('le tarif...:', tarif_total(nb_enfants, nb_adultes))
la vie est une fête :)

Avatar de l’utilisateur
pierrelouisbourgeois
Membre Relatif
Messages: 192
Enregistré le: 19 Avr 2018, 11:06

Re: Programmation

par pierrelouisbourgeois » 13 Oct 2019, 09:42

Super, ça fonctionne parfaitement. Merci !

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 42 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite