Le loop de mon code ne marche pas [DÉBUTANT]

End0rsii -  
 End0rsii -

Bonjour,

Bonjour tout le monde.


Pour des raisons d'apprentissage j'ai ai essayé de coder un robot qui travaille dans un café et reçoit les commandes des clients en utilisant la fonction input. 


À la fin de mon exercice je voudrais que mon robot puisse demander au client s'il a terminé de manger/boire (Yes or No question). S'il n'a pas fini, le robot s'excusera, attendra quelques secondes et demandera à nouveau jusqu'à ce que le client dise Oui. Le code se terminera ainsi. Voici le code :

fin = (input(" Have you finished your coffee sir ? (Yes or No answer)\n\n"))

while fin == "No" :
     print(" Oh ! Sorry for disturbing you !")
     input(" Have you finished your coffee ? (Yes or No answer)\n\n")
     if fin == "Yes" :
          break

if fin == "Yes" :
       print("All right ! I hope you liked your coffee !\n\nThank you for coming here ! See you next time !                            Goodbye !")


Si je dit No la première fois cela marche parfaitement. Le terminal me sort la bonne phrase. Cependant, si à la suite je veux dire Yes, c'est la même phrase qui sort à chaque fois.

Si vous essayez le code vous comprendrez se que j'essaye d'expliquer.

Est-ce que quelqu'un pourrait m'éclairer sur la façon de corriger ce problème ?

Merci pour vos réponses


Windows / Opera 89.0.4447.64

A voir également:

3 réponses

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 

Bonjour

on y verrait plus clair si tu affichais ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code

Visuellement, ça doit ressembler à ça:

for k in range(10):
    print(k)

Il manque fin = devant input(" Have you finished your coffee ? (Yes or No answer)\n\n") dans la boucle

0
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 

Bonjour,

Il existe de nombreuses façons de faire, par exemple :

fin = "No"
while fin != "Yes" :
    fin = (input(" Have you finished your coffee sir ? (Yes or No answer)\n\n"))
    if fin == "Yes" :
         print("All right ! I hope you liked your coffee !\n\nThank you for coming here ! See you next time !                            Goodbye !")
    else:
         print(" Oh ! Sorry for disturbing you !")

while True:
    fin = (input(" Have you finished your coffee sir ? (Yes or No answer)\n\n"))
    if fin == "Yes" :
         print("All right ! I hope you liked your coffee !\n\nThank you for coming here ! See you next time !                            Goodbye !")
         break
    else:
         print(" Oh ! Sorry for disturbing you !")

Et dans ton code tu as oublié dans ta boucle fin = sur l'input


0
End0rsii
 

Merci beaucoup de m'avoir aidé jee jee j'ai compris mon erreur !

0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 

Et dans input, il n'y a pas besoin des parenthèses extérieures ...

0