Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Monivalintatehtävän apinaveikkaus
- # Esitetään n kysymystä
- # Kussakin kysymyksessa on m vaihtoehtoa, joista vain yksi on oikea
- # Lasketaan apinaveikkauksen todennäköisyydet oikeiden vastausten määrille
- # sekä tätä paremmille tai huonommille veikkauksille
- # Laskenta perustuu binomitodennäköisyyteen
- # Juhani Kaukoranta 3.11.2019
- import math
- n = int(input("anna monivalintakysymysten lukumäärä "))
- m = int(input("Anna yksittäisen kysymyksen vastausvaihtoehtojen lukumäärä "))
- # oikean todennäköisyys p,väärän todennäköisyys 1 -p
- p = 1.0/m
- def binomikerroin(n,k):
- return math.factorial(n)//(math.factorial(n-k)*math.factorial(k))
- # huonommin kuin k oikein
- def huonommin(k):
- if k == 0:
- return 0
- sum = 0
- for i in range(0,k):
- sum += binomikerroin(n,i)*p**i*(1-p)**(n-i)
- return sum
- # apinaveikkaus paremmin kuin k oikein
- def paremmin(k):
- if k == n:
- return 0
- sum = 0
- for i in range(k+1,n+1):
- sum += binomikerroin(n,i)*p**i*(1-p)**(n-i)
- return(sum)
- print()
- print("Jos apina veikkaisi, saataisiin todennäköisyystaulukko:")
- print()
- for k in range(0,n+1):
- print("Tasan ","{:2}".format(k)," oikein = ","{:6.6f}".format(binomikerroin(n,k)*p**k*(1-p)**(n-k))," paremmin = ", "{:6.6f}".format(paremmin(k))," huonommin = ","{:6.6f}".format(huonommin(k)))
- print("Odotusarvo apinaveikkauksen oikeiden vastausten määräksi = ","{:3.1f}".format(p*n))
Advertisement
Add Comment
Please, Sign In to add comment