Guest User

Untitled

a guest
Aug 9th, 2016
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. import tkinter
  2. import sys
  3.  
  4. main = tkinter.Tk()
  5.  
  6.  
  7.  
  8. def silnia(cyfra):
  9. silnia=1
  10. while cyfra>=1:
  11. silnia=silnia*cyfra
  12. cyfra=cyfra-1
  13. return silnia
  14.  
  15.  
  16. def symbol_Newtona( liczba_prob, liczba_sukcesow):
  17. symbol_Newtona=((silnia(liczba_prob))/((silnia(liczba_sukcesow))*(silnia(liczba_prob-liczba_sukcesow))))
  18. return symbol_Newtona
  19.  
  20.  
  21. def wyznaczenie_prawdopodobienstwa(praw, liczba_prob, liczba_sukcesow):
  22. prawd=symbol_Newtona(liczba_prob, liczba_sukcesow)*(praw**liczba_sukcesow)*(1-praw)**(liczba_prob-liczba_sukcesow)
  23. return prawd
  24.  
  25.  
  26. def guzik_rowno():
  27. liczba_prob=int(proby.get())
  28. liczba_sukcesow=int(sukcesy.get())
  29. prawdop=float(prawdo.get())
  30. rowno=str(wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow))
  31. zmienna="Prawdopodobienstwo dokladnie %d sukcesu w tylu probach wynosi %s" % (liczba_sukcesow,rowno)
  32. label.config(text = zmienna)
  33.  
  34. def guzik_mniej():
  35. liczba_prob=int(proby.get())
  36. liczba_sukcesow=int(sukcesy.get())
  37. prawdop=float(prawdo.get())
  38. co_najwyzej=0
  39. i=0
  40. while i<liczba_sukcesow:
  41. co_najwyzej+=wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, i)
  42. i=i+1
  43. zmienna = "Prawdopodobienstwo mnie niz %d sukcesów w tylu probach wynosi %s" % (liczba_sukcesow,co_najwyzej)
  44. label.config(text = zmienna)
  45.  
  46.  
  47. def guzik_wiecej():
  48. liczba_prob=int(proby.get())
  49. liczba_sukcesow=int(sukcesy.get())+1
  50. prawdop=float(prawdo.get())
  51. co_najmniej=0
  52.  
  53. while liczba_sukcesow<=liczba_prob:
  54. co_najmniej+=wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow)
  55. liczba_sukcesow=liczba_sukcesow+1
  56. zmienna= "Prawdopodobienstwo wiecej niz %d sukcesów w tylu probach wynosi %s" % (liczba_sukcesow,co_najmniej)
  57. label.config(text = zmienna)
  58.  
  59. def zapis():
  60. liczba_prob=int(proby.get())
  61. liczba_sukcesow=int(sukcesy.get())
  62. prawdop=float(prawdo.get())
  63. rowno=str(wyznaczenie_prawdopodobienstwa(prawdop, liczba_prob, liczba_sukcesow))
  64. plik=open("exel.txt", 'a')
  65. plik.write(str(liczba_sukcesow)+" "+rowno+"\n")
  66. plik.close()
  67.  
  68.  
  69.  
  70. b_rowno=tkinter.Button(main, text="prawd_rowne", command=guzik_rowno)
  71. b_mniej=tkinter.Button(main, text="prawd_mniejsze", command=guzik_mniej)
  72. b_wiec=tkinter.Button(main, text="prawd_wiec", command=guzik_wiecej)
  73. zapisz_do_pliku=tkinter.Button(main, text="zapisz", command=zapis)
  74.  
  75.  
  76. proby=tkinter.Entry(main)
  77. sukcesy=tkinter.Entry(main)
  78. prawdo=tkinter.Entry(main)
  79. label=tkinter.Label(main, text="prawdo")
  80. label1=tkinter.Label(main, text="Liczba prob:")
  81.  
  82. label2=tkinter.Label(main, text="Liczba sukcesow:")
  83.  
  84. label3=tkinter.Label(main, text="prawdopodobienstwo pojedynczego sukcesu")
  85. label4=tkinter.Label(main, text="")
  86.  
  87.  
  88.  
  89. label.pack()
  90. label1.pack()
  91. proby.pack()
  92. label2.pack()
  93. sukcesy.pack()
  94. label3.pack()
  95. prawdo.pack()
  96. b_rowno.pack()
  97. b_mniej.pack()
  98. b_wiec.pack()
  99. zapisz_do_pliku.pack()
  100.  
  101.  
  102.  
  103.  
  104.  
  105. main.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment