Я новичок в python, поэтому я решил сделать простую игру в кости, используя while l oop, просто чтобы провести простой тест. В игре я использую модуль random и метод random.randint(1, 6)
для вывода случайного целого числа любого значения от «1 до 6», что, очевидно, так работает в реальной жизни. Но чтобы сделать это игрой, если напечатанное целое число - четное (random.randint(1, 6) % 2 ==0)
, то будет напечатано «вы выиграете». Если целое число нечетное, печатается «вы проиграли». После этого консоль спрашивает, хотите ли вы снова бросить кубик, и если вы ответите «да» (без учета регистра, следовательно, .lower()
), он снова бросит, и l oop продолжится, но если вы скажете что-нибудь еще, l oop breaks.
Я думал, что это будет так, но время от времени, когда выпадает четное число, печатается «вы проигрываете», а для нечетных чисел - наоборот, что не то, что я думал, что я закодировал свой l oop, чтобы сделать. Очевидно я что-то не так делаю. Кто-нибудь может помочь?
Это мой код:
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