Je suis nouveau à Python, j'ai donc décidé de faire un jeu de dés simple en utilisant une boucle tandis que de faire un test simple de moi-même. Dans le jeu, j'utilise le module aléatoire et le procédé Je pensais que c'était comme ça que cela fonctionnerait, mais de temps en temps, quand un nombre pair est roulant, "tu perds" est imprimé et le contraire pour des nombres impairs, ce qui n'est pas quoi Je pensais avoir codé ma boucle à faire. Évidemment je fais quelque chose de mal. Quelqu'un peut-il aider? P> Ceci est mon code: P> aléatoire.randint (1, 6) code> pour imprimer un entier aléatoire de toute valeur de "1 à 6", ce qui est évidemment comment un dés travaille dans vrai vie. Mais pour faire cela un jeu, si l'intégrité imprimé est même
(aléatoire.Randint (1, 6)% 2 == 0) code> puis "vous gagnez" est imprimé. Si l'entier est étrange, alors "tu perds" est imprimé. Après cela, la console demande à nouveau si vous voulez rouler les dés à nouveau, et si vous dites oui (non sensible à la case,
.Lower () code>) puis il roule à nouveau et la boucle continue, mais si vous dites autre chose que la boucle se casse.
import random
min = 1
max = 6
roll_again = True
while roll_again:
print(random.randint(min, max))
if random.randint(min, max) % 2 == 0:
print('you win')
else:
print('you lose')
again = input('roll the dice? ').lower()
if again == ('yes'):
continue
else:
print('ok')
break
4 Réponses :
roll = random.randint(min, max) print(roll) if roll % 2 == 0: print('you win')
Vous devez attribuer un nombre aléatoire à une variable, à l'heure actuelle imprimée et que l'autre est des chiffres différents.
import random min = 1 max = 6 dice = 0 while True: dice = random.randint(min, max) print(dice) if dice % 2 == 0: print('you win') else: print('you lose') again = input('roll the dice? ').lower() if again == ('yes'): continue else: print('ok') break
Vous générez un nombre aléatoire deux fois, le numéro imprimé n'est pas le même numéro que celui que celui que vous vérifiez dans la condition IF.
Vous pouvez enregistrer le numéro généré dans une variable comme celle-ci pour vérifier si votre ordinateur. Le code fonctionne bien: p>
Random.Randint (min, max) renvoie une valeur différente chaque fois qu'elle est exécutée. Donc, la meilleure chose à faire est de stocker la valeur à la toute première exécution et de vérifier cette valeur stockée pour la victoire ou la perte.
Vous pouvez essayer cette version de code: p>
import random while(True): value = random.randint(1,6) print(value) if(value % 2 == 0): print("You Win!") else: print("You Lose!") again = input("Want to roll Again? Type 'Yes' or 'No'") if(again.lower() != 'yes'): break