Симулятор броска монеты с выводом результата определённой комбинации
import random
n = 1
i = 0
ifrits = []
while (ifrits[0] == 1 and ifrits[1] == 1 and ifrits[2] == 1 and ifrits[3] == 1 and ifrits[4] == 1 and ifrits[5] == 1 and ifrits[6] == 1 and ifrits[7] == 1 and ifrits[8] == 0) or (ifrits[0] == 0 and ifrits[1] == 1 and ifrits[2] == 1 and ifrits[3] == 1 and ifrits[4] == 1 and ifrits[5] == 1 and ifrits[6] == 1 and ifrits[7] == 1 and ifrits[8] == 1):
while i < 9:
ifrits[i] = random.random()
i += 1
n += 1
print(ifrits)
print(n)
Я хочу написать программу, которая заполнит список значениями 0 или 1, затем проверит список на наличие комбинации восемь единиц подряд (1,1,1,1,1,1,1,1,0) или (0,1,1,1,1,1,1,1,1). Результатом должен быть - вывод самой комбинации (списка) и номера попытки (значение счётчика), на которой выпала данная комбинация. По моим подсчётам, вероятность такой комбинации составляет - 0,4%. Моя цель - понять: может ли выпасть такая комбинация на практике вообще? Если да, то у меня будет номер попытки, на которой произошла комбинация.
Пояснение переменных:
n - общий счётчик попыток
i - счётчик для цикла
ifrits - список
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
import random
n = 0
while True:
arr = [random.randrange(2) for _ in range(9)]
if arr == [1, 1, 1, 1, 1, 1, 1, 1, 0] or arr == [0, 1, 1, 1, 1, 1, 1, 1, 1]:
print(arr, n)
break
n += 1