Вы должны сделать random
вызов также внутри цикла while
иначе они не будут меняться. И другое дело, что вы сравните ==
и установить =
счетчик:
import random
sides = 4
count = 1
die1 = random.randint(1,4)
die2 = random.randint(1,4)
while sides == 4 and die1 != die2:
print (count, ". die number 1 is", die1, "and die number 2 is", die2,".")
count += 1
die1 = random.randint(1,4)
die2 = random.randint(1,4)
print ("You got snake eyes! Finally! On try number", count,".")
Пытаюсь тестовый прогон дает мне:
1 . die number 1 is 4 and die number 2 is 3 .
2 . die number 1 is 2 and die number 2 is 1 .
3 . die number 1 is 1 and die number 2 is 2 .
4 . die number 1 is 3 and die number 2 is 4 .
5 . die number 1 is 1 and die number 2 is 4 .
You got snake eyes! Finally! On try number 6 .
Одна альтернатива, которая почти идентична, но использует break
вместо условий на в то время как цикл будет:
import random
sides = 4
count = 1
def tossdie():
"""Function to create a random integer for a die"""
return random.randint(1,4)
while True:
die1 = tossdie()
die2 = tossdie()
print (count, ". die number 1 is", die1, "and die number 2 is", die2,".")
if die1 == die2:
break
count += 1
print ("You got snake eyes! Finally! On try number", count,".")
змеиные глаза в кости игры обычно означает пару из них, а не только какой-либо пары. –
Чтобы избавиться от безвозмездного пробела в выводе, рассмотрите 'print (" {}. Номер штампа 1 {}, а число 2 - {}. ". Format (count, die1, die2))'. –