Pagini recente » Cod sursa (job #1176632) | Cod sursa (job #1465240) | Cod sursa (job #1946383) | Cod sursa (job #1216481) | Cod sursa (job #3250824)
import numpy as np
import matplotlib.pyplot as plt
# 1 a) 0.499
# count = 0
# cazuri = 100000
# probHead = 0.5
# xPoz = []
# yPoz = []
# for i in range(1, cazuri):
# if (np.random.rand()<probHead):
# count += 1
# if i%1000==0:
# xPoz.append(i)
# yPoz.append(count/i - probHead)
# plt.plot(xPoz, yPoz)
# # 1 b) 0.699
# xpoz2 = []
# ypoz2 = []
# count = 0
# cazuri = 100000
# probHead = 0.7
# for i in range(1, cazuri):
# if (np.random.rand()<probHead):
# count += 1
# if i%1000==0:
# xpoz2.append(i)
# ypoz2.append(count/i-probHead)
# plt.plot(xpoz2, ypoz2)
# plt.show()
# HHT HHH TTH H
# HTHHT THHTT HTTTT HTHTH
# 2
# count = [0, 0, 0, 0, 0, 0]
# 3
def getProb(serieLung, nrAruncari, cazuri = 10000):
count = 0
for i in range(1, cazuri):
serie = 0
prev = -1
for element in np.random.rand(nrAruncari):
current = 0 if element < 0.5 else 1
if(prev == current):
serie += 1
else:
serie = 1
prev = current
if(serie >= serieLung):
count += 1
break
print(count/cazuri)
getProb(4,10)
getProb(4,20)
getProb(8,100)