Python

Otrzymałeś(aś) rozwiązanie do zamieszczonego zadania? - podziękuj autorowi rozwiązania! Kliknij
Ola00
Rozkręcam się
Rozkręcam się
Posty: 61
Rejestracja: 30 lis 2021, 13:55
Podziękowania: 14 razy

Python

Post autor: Ola00 »

Python
Stworzyć symulację komputerową w Pythonie i za jej pomocą ocenić średnią liczbę dni oczekiwania.
Nieprzeźroczysta fiolka zawiera 30 tabletek. Kuracja polega na przyjęciu połowy tabletki dziennie. Jeśli wyjęliśmy całą tabletkę, to połowę wrzucamy z powrotem do fiolki. Jeśli natrafimy na połówkę, to tę zużywamy. Tabletki są wyjmowane z fiolki na chybił-trafił. Ile średnio dni musi czekać kuracjusz na wyjęcie połowy tabletki?
kerajs
Fachowiec
Fachowiec
Posty: 2963
Rejestracja: 14 lis 2016, 14:38
Podziękowania: 33 razy
Otrzymane podziękowania: 1303 razy
Płeć:

Re: Python

Post autor: kerajs »

Część matematyczną znajdziesz tu:
https://matematykaszkolna.pl/forum/412837.html
uziom
Dopiero zaczynam
Dopiero zaczynam
Posty: 22
Rejestracja: 05 kwie 2023, 09:01
Otrzymane podziękowania: 1 raz
Płeć:

Re: Python

Post autor: uziom »

Kod: Zaznacz cały

import random

def simulate(days):
    pills = 30
    wait_days = []
    
    for i in range(days):
        if pills == 0:
            pills += 15 # dodajemy połowę fiolki
        draw = random.randint(0, pills)
        pills -= draw
        wait_days.append(i+1)
        if pills == 15:
            pills -= 15 # bierzemy połowę fiolki
            
    return sum(wait_days) / days

print(simulate(100000))
ODPOWIEDZ