Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tkinter
- import sys
- main = tkinter.Tk()
- def silnia(cyfra):
- silnia=1
- while cyfra>=1:
- silnia=silnia*cyfra
- cyfra=cyfra-1
- return silnia
- def symbol_Newtona( liczba_prob, liczba_sukcesow):
- symbol_Newtona=((silnia(liczba_prob))/((silnia(liczba_sukcesow))*(silnia(liczba_prob-liczba_sukcesow))))
- return symbol_Newtona
- def wyznaczenie_prawdopodobienstwa(praw, liczba_prob, liczba_sukcesow):
- prawd=symbol_Newtona(liczba_prob, liczba_sukcesow)*(praw**liczba_sukcesow)*(1-praw)**(liczba_prob-liczba_sukcesow)
- return prawd
- def guzik_rowno():
- liczba_prob=int(proby.get())
- liczba_sukcesow=int(sukcesy.get())
- prawdop=float(prawdo.get())
- rowno=str(wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow))
- zmienna="Prawdopodobienstwo dokladnie %d sukcesu w tylu probach wynosi %s" % (liczba_sukcesow,rowno)
- label.config(text = zmienna)
- def guzik_mniej():
- liczba_prob=int(proby.get())
- liczba_sukcesow=int(sukcesy.get())
- prawdop=float(prawdo.get())
- co_najwyzej=0
- i=0
- while i<liczba_sukcesow:
- co_najwyzej+=wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, i)
- i=i+1
- zmienna = "Prawdopodobienstwo mnie niz %d sukcesów w tylu probach wynosi %s" % (liczba_sukcesow,co_najwyzej)
- label.config(text = zmienna)
- def guzik_wiecej():
- liczba_prob=int(proby.get())
- liczba_sukcesow=int(sukcesy.get())+1
- prawdop=float(prawdo.get())
- co_najmniej=0
- while liczba_sukcesow<=liczba_prob:
- co_najmniej+=wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow)
- liczba_sukcesow=liczba_sukcesow+1
- zmienna= "Prawdopodobienstwo wiecej niz %d sukcesów w tylu probach wynosi %s" % (liczba_sukcesow,co_najmniej)
- label.config(text = zmienna)
- def zapis():
- liczba_prob=int(proby.get())
- liczba_sukcesow=int(sukcesy.get())
- prawdop=float(prawdo.get())
- rowno=str(wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow))
- plik=open("exel.txt", 'a')
- plik.write(str(liczba_sukcesow)+" "+rowno+"\n")
- plik.close()
- b_rowno=tkinter.Button(main, text="prawd_rowne", command=guzik_rowno)
- b_mniej=tkinter.Button(main, text="prawd_mniejsze", command=guzik_mniej)
- b_wiec=tkinter.Button(main, text="prawd_wiec", command=guzik_wiecej)
- zapisz_do_pliku=tkinter.Button(main, text="zapisz", command=zapis)
- proby=tkinter.Entry(main)
- sukcesy=tkinter.Entry(main)
- prawdo=tkinter.Entry(main)
- label=tkinter.Label(main, text="prawdo")
- label1=tkinter.Label(main, text="Liczba prob:")
- label2=tkinter.Label(main, text="Liczba sukcesow:")
- label3=tkinter.Label(main, text="prawdopodobienstwo pojedynczego sukcesu")
- label4=tkinter.Label(main, text="")
- label.pack()
- label1.pack()
- proby.pack()
- label2.pack()
- sukcesy.pack()
- label3.pack()
- prawdo.pack()
- b_rowno.pack()
- b_mniej.pack()
- b_wiec.pack()
- zapisz_do_pliku.pack()
- main.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment