• [^] # Re: une proposition

    Posté par . En réponse au message aide pour invalid syntax ... Évalué à 2.

    Je me permets de reposter ton code légèrement modifié (en fait seulement la condition du while... ton code marchait mais ça faisait bizarre :)

    #!/usr/bin/python2
    import sys
    from random import *
    des1=randint(1,6)
    des2=randint(1,6)
    total=des1 + des2
    compteur= 0
    gagne= [7,11]
    perdu= [2,3,12]
    while True:
     compteur=compteur +1
     des1=randint(1,6)
     des2=randint(1,6)
     total=des1 + des2
     if total in perdu:
     print "vous avez obtenu le",des1,"et le",des2,"soit un total de",total
     print "conclusion: vous avez perdu en", compteur,"coup(s)"
     sys.exit(0)
     if total in gagne:
     print "vous avez obtenu le",des1,"et le",des2,"soit un total de",total
     print "conclusion: vous avez gagne en",compteur,"coup(s)"
     sys.exit(0)
     else:
     print "vous avez obtenu le",des1,"et le",des2,"soit un total de",total

    C’est du python 2, en 3 ça n’est pas valide...

    On est effectivement obligé d’utiliser sys.exit() car si on met la bonne condition dans le while : while total not in gagne+perdu (le '+' n’est pas une addition ici...) et bien le print n’aura pas lieu lorsque l’on gagne ou que l’on perd, on aura que le troisième print, celui du else, qui aura lieu, bien que le programme s’arrête lorsque l’on gagne ou que l’on perd.