2026. június 26., péntek

Valószínűség-számítás

Íme egy komplex, valós szimulációt megvalósító Python-kód, amely a véletlenszám-generálást (random modul), a véletlenszerű eseményeket (valószínűség-számítás) és a vizuális állapotkövetést kombinálja.Ez a program egy egyszerűsített szerencsejáték-szimulátor, amely modellezi a játékos egyenlegének változását, a nyerési esélyeket, és statisztikát készít a folyamatról.
---------------
import random
import time

def jatszma_szimulacio(Kezdo_egyenleg, Tet, Jatszmaksz_szam):
    """
    Komplex véletlenszám-alapú szimuláció:
    - Véletlen események modellezése (pl. veszteség, kis nyerés, jackpot).
    - Statisztikák és trendek számolása.
    """
    egyenleg = Kezdo_egyenleg
    nyeremenyek_szama = 0
    vesztesegek_szama = 0
    osszes_tet = 0
    legmagasabb_egyenleg = Kezdo_egyenleg
    
    print("--- Szimuláció indítása ---\n")
    
    for kor in range(1, Jatszmaksz_szam + 1):
        if egyenleg < Tet:
            print(f"{kor}. kör: Nincs elég egyenleg a játékhoz. A szimuláció véget ért.")
            break
            
        egyenleg -= Tet
        osszes_tet += Tet
        
        # Véletlen esemény generálása (0 és 1 közötti valószínűség)
        esemeny = random.random()
        
        # Események logikája súlyozott valószínűségek alapján
        if esemeny < 0.01:  # 1% esély a Jackpotra
            nyeremeny = Tet * 50
            egyenleg += nyeremeny
            nyeremenyek_szama += 1
            print(f"🌟 {kor}. kör: JACKPOT! Nyertél: {nyeremeny} Ft!")
        elif esemeny < 0.45:  # 44% esély sima nyereményre
            nyeremeny = Tet * 2
            egyenleg += nyeremeny
            nyeremenyek_szama += 1
            print(f"💰 {kor}. kör: Nyertél! Új egyenleg: {egyenleg} Ft")
        else:  # 55% esély a veszteségre
            vesztesegek_szama += 1
            print(f"❌ {kor}. kör: Nem nyertél. Egyenleg: {egyenleg} Ft")
            
        if egyenleg > legmagasabb_egyenleg:
            legmagasabb_egyenleg = egyenleg
            
        time.sleep(0.05)  # Késleltetés a valós idejű szimuláció érzetéhez

    # Eredmények összegzése
    print("\n" + "="*40)
    print("SZIMULÁCIÓ VÉGEREDMÉNYE")
    print("="*40)
    print(f"Kezdeti egyenleg: {Kezdo_egyenleg} Ft")
    print(f"Végső egyenleg: {egyenleg} Ft")
    print(f"Legmagasabb elért egyenleg: {legmagasabb_egyenleg} Ft")
    print(f"Összes megjátszott tét: {osszes_tet} Ft")
    
    # Nyerési arány számítása és nullával osztás kezelése
    nyeremeny_arany = (nyeremenyek_szama / (nyeremenyek_szama + vesztesegek_szama)) * 100
    print(f"Nyerési arány: {nyeremeny_arany:.2f}%")
    print("="*40)

# A program futtatása
if __name__ == "__main__":
    # Paraméterek beállítása
    Kezdo_egyenleg = 100000
    Tet_ertek = 1000
    Kori_szam = 50
    
    jatszma_szimulacio(Kezdo_egyenleg, Tet_ertek, Kori_szam)
------------
--- Szimuláció indítása ---

❌ 1. kör: Nem nyertél. Egyenleg: 99000 Ft
❌ 2. kör: Nem nyertél. Egyenleg: 98000 Ft
❌ 3. kör: Nem nyertél. Egyenleg: 97000 Ft
❌ 4. kör: Nem nyertél. Egyenleg: 96000 Ft
❌ 5. kör: Nem nyertél. Egyenleg: 95000 Ft
❌ 6. kör: Nem nyertél. Egyenleg: 94000 Ft
💰 7. kör: Nyertél! Új egyenleg: 95000 Ft
❌ 8. kör: Nem nyertél. Egyenleg: 94000 Ft
💰 9. kör: Nyertél! Új egyenleg: 95000 Ft
💰 10. kör: Nyertél! Új egyenleg: 96000 Ft
❌ 11. kör: Nem nyertél. Egyenleg: 95000 Ft
❌ 12. kör: Nem nyertél. Egyenleg: 94000 Ft
💰 13. kör: Nyertél! Új egyenleg: 95000 Ft
❌ 14. kör: Nem nyertél. Egyenleg: 94000 Ft
💰 15. kör: Nyertél! Új egyenleg: 95000 Ft
❌ 16. kör: Nem nyertél. Egyenleg: 94000 Ft
💰 17. kör: Nyertél! Új egyenleg: 95000 Ft
❌ 18. kör: Nem nyertél. Egyenleg: 94000 Ft
❌ 19. kör: Nem nyertél. Egyenleg: 93000 Ft
💰 20. kör: Nyertél! Új egyenleg: 94000 Ft
💰 21. kör: Nyertél! Új egyenleg: 95000 Ft
💰 22. kör: Nyertél! Új egyenleg: 96000 Ft
❌ 23. kör: Nem nyertél. Egyenleg: 95000 Ft
💰 24. kör: Nyertél! Új egyenleg: 96000 Ft
❌ 25. kör: Nem nyertél. Egyenleg: 95000 Ft
❌ 26. kör: Nem nyertél. Egyenleg: 94000 Ft
❌ 27. kör: Nem nyertél. Egyenleg: 93000 Ft
💰 28. kör: Nyertél! Új egyenleg: 94000 Ft
❌ 29. kör: Nem nyertél. Egyenleg: 93000 Ft
💰 30. kör: Nyertél! Új egyenleg: 94000 Ft
❌ 31. kör: Nem nyertél. Egyenleg: 93000 Ft
❌ 32. kör: Nem nyertél. Egyenleg: 92000 Ft
❌ 33. kör: Nem nyertél. Egyenleg: 91000 Ft
❌ 34. kör: Nem nyertél. Egyenleg: 90000 Ft
💰 35. kör: Nyertél! Új egyenleg: 91000 Ft
💰 36. kör: Nyertél! Új egyenleg: 92000 Ft
💰 37. kör: Nyertél! Új egyenleg: 93000 Ft
❌ 38. kör: Nem nyertél. Egyenleg: 92000 Ft
❌ 39. kör: Nem nyertél. Egyenleg: 91000 Ft
💰 40. kör: Nyertél! Új egyenleg: 92000 Ft
💰 41. kör: Nyertél! Új egyenleg: 93000 Ft
❌ 42. kör: Nem nyertél. Egyenleg: 92000 Ft
💰 43. kör: Nyertél! Új egyenleg: 93000 Ft
💰 44. kör: Nyertél! Új egyenleg: 94000 Ft
💰 45. kör: Nyertél! Új egyenleg: 95000 Ft
💰 46. kör: Nyertél! Új egyenleg: 96000 Ft
💰 47. kör: Nyertél! Új egyenleg: 97000 Ft
💰 48. kör: Nyertél! Új egyenleg: 98000 Ft
❌ 49. kör: Nem nyertél. Egyenleg: 97000 Ft
❌ 50. kör: Nem nyertél. Egyenleg: 96000 Ft

========================================
SZIMULÁCIÓ VÉGEREDMÉNYE
========================================
Kezdeti egyenleg: 100000 Ft
Végső egyenleg: 96000 Ft
Legmagasabb elért egyenleg: 100000 Ft
Összes megjátszott tét: 50000 Ft
Nyerési arány: 46.00%
========================================

Nincsenek megjegyzések:

Megjegyzés küldése