Advertisement
Geralt1001

Untitled

Feb 5th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.99 KB | None | 0 0
  1.     def on_pierwiastek_released(self):
  2.         p=self.wartoscpierwsza.text()
  3.         k=self.wartoscdruga.text()
  4.         if p=='' or k=='':
  5.             self.wartoscwyniku.setText('Brak pierwszej lub drugiej wartosci')
  6.         else:
  7.             try:
  8.                 float(k)
  9.             except:
  10.                 self.wartoscwyniku.setText('podaj stopien pierwiastka jako float')
  11.             else:
  12.                 try:
  13.                     float(p)
  14.                 except:
  15.                     self.wartoscwyniku.setText('podaj liczbe pod pierwiastkiem jako float')
  16.                 else:
  17.                     k1=float(k)
  18.                     if float(p)<0 and k1%2==0:
  19.                         self.wartoscwyniku.setText('Nie pierwiastkujemy z wartosci niedodatnich')
  20.                     elif float(p)<0 and k1%2!=0:    #bład był tutaj, dodaliśmy elify że sprawdzićczy ujemna i czy nie zero
  21.                         p1=float(p)*(-1)
  22.                         k1=1/k1
  23.                         wartoscwyniku=p1**k1
  24.                         wartoscwyniku=wartoscwyniku*(-1)
  25.                         wartoscwyniku='%.6f' %wartoscwyniku
  26.                         wartoscwyniku1=str(wartoscwyniku)
  27.                         self.wartoscwyniku.setText(wartoscwyniku1)
  28.                     elif k1==0:
  29.                         self.wartoscwyniku.setText('stopien pierwiastka ma byc inny niz zero') # tu był zły komentarz, bo to stopień ma byc inny niż zero
  30.                     else:
  31.                         p1=float(p) # usunalem -1, teraz ten default robi pierwiatek z liczby dodatniej tylko
  32.                         k1=1/k1
  33.                         wartoscwyniku=p1**k1
  34.                         #wartoscwyniku=(-1)*wartoscwyniku # tą linijkę można wyrzucić teraz, a nawet trzeba
  35.                         wartoscwyniku='%.6f' %wartoscwyniku
  36.                         wartoscwyniku1=str(wartoscwyniku)
  37.                         self.wartoscwyniku.setText(wartoscwyniku1)
  38.  
  39. ##############################################################
  40.  
  41.     def on_tangens_released(self):
  42.         p=self.wartoscpierwsza.text()
  43.         k=self.wartoscdruga.text()
  44.         if p=='' and k=='':
  45.             self.wartoscwyniku.setText('podaj jakas wartosc')
  46.         elif p=='' and k!='':
  47.             p=k
  48.         else:
  49.             self.wartoscdruga.setText('')
  50.             if p[0]=='p' and p[1]=='i' and p[2]=='*':
  51.                 pp=p[3:len(p)]
  52.                 try:
  53.                     float(pp)
  54.                 except:
  55.                     self.wartoscwyniku.setText('podaj liczbe(moze być zmiennoprzecinkowa) lub w formacie: "pi*35.75", ogólniej: "pi*float"')
  56.                 else:
  57.                     pp=float(pp) #tej linijki brakowało, ale już powinno działac
  58.                     if pp%0.5==0 and pp%1!=0:
  59.                         self.wartoscwyniku.setText('nie istnieje tangens z wartosci (2n+1)*(PI/2)')
  60.                     elif pp%1==0:
  61.                         self.wartoscwyniku.setText('0')
  62.                     else:
  63.                         p1=float(pp)*math.pi
  64.                         wartoscwyniku=math.tan(p1)
  65.                         wartoscwyniku='%.6f' %wartoscwyniku
  66.                         wartoscwyniku1=str(wartoscwyniku)
  67.                         self.wartoscwyniku.setText(wartoscwyniku1)
  68.  
  69.             else:
  70.                 try:
  71.                     float(p)
  72.                 except:
  73.                     self.wartoscwyniku.setText('podaj liczbe(moze być zmiennoprzecinkowa) lub w formacie: "pi*35.75", ogólniej: "pi*float"')
  74.                 else:
  75.                     p=float(p)
  76.                     if p%90==0 and p%180!=0:
  77.                         self.wartoscwyniku.setText('nie istnieje tangens z wartosci (2n+1)*(90)')
  78.                     else:
  79.                         p1=float(p)
  80.                         p1=(p1*math.pi)/180
  81.                         wartoscwyniku=math.tan(p1)
  82.                         wartoscwyniku='%.6f' %wartoscwyniku
  83.                         wartoscwyniku1=str(wartoscwyniku)
  84.                         self.wartoscwyniku.setText(wartoscwyniku1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement