Напишите программу, использующую для подброса монетки генератор случайных чисел Python.
Напишите программу, использующую для подброса монетки генератор случайных чисел Python. Монетка при этом должна быть правильной формы, что означает равную вероятность выпадения орла и решки. Подбрасывать монетку необходимо до тех пор, пока три раза подряд не выпадет одно значение, вне зависимости от того, орел - это будет или решка.
Выводите на экран букву О всякий раз, когда выпадает орел, и Р – когда
выпадает решка. При этом для одной симуляции бросков все выпавшие значения необходимо размещать на одной строке. Также необходимо известить пользователя о том, сколько попыток потребовалось, чтобы получить нужный результат.
Программа должна выполнить десять симуляций и в конце представить
минимальное, среднее и максимальное количество подбрасываний монетки, требуемое для достижения нужного нам результата.
Пример вывода программы показан ниже:
О Р Р Р (попыток: 4)
О О Р Р О Р О Р Р О О Р О Р Р О Р Р Р (попыток: 19)
Р Р Р (попыток: 3)
Р О О О (попыток: 4)
О О О (попыток: 3)
Р О Р Р О Р О О Р Р О О Р О Р О О О (попыток: 18)
О Р Р О О О (попыток: 6)
Р О Р Р Р (попыток: 5)
Р Р О Р Р О Р О Р О О О (попыток: 12)
Р О Р Р Р (попыток: 5)
Минимальное количество попыток: 3
Среднее количество попыток: 7,9 Максимальное количество попыток: 19.
import random
b = ["О", "Р"]
d = []
a = str(random.choice(b))
c = 1
def mean(x):
return (float(sum(x) / len(x)))
def toss(a,b,c,d):
while a.find("О О О")==-1 and a.find("P P P")==-1:
a += str(" " + random.choice(b))
c += 1
print(str(a)+" (попыток: "+str(c)+")")
d.append(c)
a = str(random.choice(b))
c = 1
for i in range(10):
toss(a,b,c,d)
mean(d)
print("Минимальное количество попыток: "+str(min(d)))
print("Среднее количество попыток: "+str(mean(d)))
print("Максимальное количество попыток: "+str(max(d)))
from random import randint
#==============================================================================
n = 10
summ = 0
for _ in range(n):
s = ''
for i in range(1000):
s += 'ОР'[randint(0, 1)]
if len(s) >= 3 and len( set( s[-3:] ) ) == 1:
summ += i+1
print( ' '.join(s) + f' (попыток {i+1})' )
break
print(f'Среднее количество попыток: { summ/n }')