👤

Bonjour, je cherche depuis ce début d'après midi mais je n'arrive vraiment pas à faire mon NSI. J'ai bien compris qu'il fallait utiliser des termes comme "if","elif", "else", etc; mais je n'y arrive pas. Je vous donne le problème:

Guillaume et Marion veulent un petit programme pour gérer leurs comptes bancaires. Ils ont chacun un compte, et veulent recevoir différents messages selon l'état de leur compte et celui de leur conjoint: les deux positifs, ou bien les deux négatifs, ou bien l'un positif et l'autre négatif avec un transfert possible pour rétablir la situation, ou bien l'un positif et l'autre négatif sans transfert possible pour rétablir la situation.

Exemples d'execution :

Exemple 1:

Lancement de la gestion des comptes? *l'utilisateur entre non*
OK. A bientot.

Exemple 2:

Lancement de la gestion des comptes? *l'utilisateur entre oui*
Solde du compte de Guillaume? *l'utilisateur entre 150.5*
Solde du compte de Marion? *l'utilisateur entre 340.12*
Tous les deux en positif!

Exemple 3:

Lancement de la gestion des comptes? *l'utilisateur entre oui*
Solde du compte de Guillaume? *l'utilisateur entre -112*
Solde du compte de Marion? *l'utilisateur entre -240.4*
Tous les deux en négatif!
Impossible de rétablir la situation.

Exemple 4:

Lancement de la gestion des comptes? *l'utilisateur entre oui*
Solde du compte de Guillaume? *l'utilisateur entre 350.87*
Solde du compte de Marion? *l'utilisateur entre -240*
Marion est en négatif.
Guillaume peut lui transférer 240 euros (il lui restera 110.87 euros).

Exemple 5:

Lancement de la gestion des comptes? *l'utilisateur entre oui*
Solde du compte de Guillaume? *l'utilisateur entre -270*
Solde du compte de Marion? *l'utilisateur entre 250*
Guillaume est en négatif.
Impossible de rétablir la situation.

/!\ Lorsque que l'on vous demande d'afficher une phrase à l'écran, vous devez suivre celle de l'exemple à la lettre (seuls les différences de ponctuation, d'espaces, de majuscules, et de certains accents sont tolérées).

Je tiens énormément à vous remercier si vous y arrivez


Répondre :

Réponse :

confirmation = input("Lancement de la gestion des comptes? ")

if confirmation.lower() == "oui":

   solde1 = float(input("Solde du compte de Guillaume? "))

   solde2 = float(input("Solde du compte de Marion? "))

   if solde1 >= 0 and solde2 >= 0:

       print("Tous les deux en positif!")

   elif solde1 >= 0 and solde2 < 0:

       print("Marion est négatif.")

       if solde2 + solde1 >= 0:

           print("Guillaume peut lui transférer",abs(solde2),"euros (il lui restera",(solde2+solde1),"euros)")

       else:

           print("Impossible de rétablir la situation.")

   elif solde1 < 0 and solde2 >= 0:

       print("Guillaume est négatif.")

       if solde1 + solde2 >= 0:

           print("Marion peut lui transférer",abs(solde2),"euros (il lui restera",(solde1+solde2),"euros)")

       else:

           print("Impossible de rétablir la situation.")

   elif solde1 < 0 and solde2 < 0:

       print("Tous les deux en négatif!")

       print("Impossible de rétablir la situation.")

elif confirmation.lower() == "non":

   print("OK. A bientot.")

else:

   print("Je n'ais pas compris. Fin du programme. A bientot.")

Explications :

C'est un peu de math de base et de l'anticipation de situation, rien de compliqué :)

Les deux dernières lignes sont en plus, car dans le cas ou l'utilisateur ne mets pas oui ou non, bah il est pas précisé ce que le programme doit faire, donc évidemment tu peux enlevé les deux dernières mais dans le cas ou ni oui ni non n'est ajouté, le programme s'arrêtera sans rien affiché.

---- Dans la partie oui/non, j'ai utilisé str.lower() pour ne pas faire la différence lorsque l'utilisateur mets par exemple OUI, ou Oui au lieu de oui. (str.lower() mets le text en minuscule)

Merci d'avoir visité notre site Web, qui traite d'environ Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter pour toute question ou demande d'assistance. À bientôt, et pensez à ajouter ce site à vos favoris !


Viz Asking: D'autres questions