Odpowiedź :
Odpowiedź:
Skrypty również w załączniku .txt
Wyjaśnienie:
1.
#Skrypty są zabezpieczone przed dzieleniem przez 0 oraz pierwiastkiem z liczby ujemnej. Wyświetla wówczas odpowiedni monit, ale oblicza pozostałe działania na liczbach.
#Wersja z przywołaniem biblioteki math potrzebnej do pierwiastka (sqrt()):
import math
a=int(input('Podaj liczbę a: '))
b=int(input('Podaj liczbę b: '))
suma=a+b
roznica=a-b
iloczyn=a*b
potega_1=a**b
potega_2=b**a
print('\n',a,'+',b,'=',suma)
print('\n',a,'-',b,'=',roznica)
print('\n',a,'*',b,'=',iloczyn)
if b!=0:
iloraz=a/b
print('\n',a,'/',b,'=',iloraz)
else:
print('\nNie mogę obliczyć ilorazu ponieważ dzielnik jest równy 0')
if (a+b)>=0:
pierwiastek=math.sqrt(a+b)
print('\n√(',a,'+',b,') =',round(pierwiastek,2))
else:
print('Pierwiastek z liczby ujemnej nie istnieje w zbiorze liczb rzeczywistych.')
print('\n',a,'^',b,'=',potega_1)
print('\n',b,'^',a,'=',potega_2)
#Wersja bez biblioteki math. Pierwiastek zapisany za pomocą potęgi [tex]\sqrt{a}=a^{\frac{1}{2}}[/tex]
a=int(input('Podaj liczbę a: '))
b=int(input('Podaj liczbę b: '))
suma=a+b
roznica=a-b
iloczyn=a*b
potega_1=a**b
potega_2=b**a
print('\n',a,'+',b,'=',suma)
print('\n',a,'-',b,'=',roznica)
print('\n',a,'*',b,'=',iloczyn)
if b!=0:
iloraz=a/b
print('\n',a,'/',b,'=',iloraz)
else:
print('\nNie mogę obliczyć ilorazu ponieważ dzielnik jest równy 0')
if (a+b)>=0:
pierwiastek=(a+b)**0.5
print('\n√(',a,'+',b,') =',round(pierwiastek,2))
else:
print('Pierwiastek z liczby ujemnej nie istnieje w zbiorze liczb rzeczywistych.')
print('\n',a,'^',b,'=',potega_1)
print('\n',b,'^',a,'=',potega_2)
Oczywiście zapis skryptu można było skrócić nie definiując zmiennych nazwanych działaniem. wszystko możnaby było wpisać bezpośrednio w print.
2.
#Wersja z impotrem biblioteki numpy (math nie obsługuje cbrt).
import numpy
a=int(input('Podaj liczbę a: '))
pierwiastek=numpy.cbrt(a)
print('\n∛(',a,') =',round(pierwiastek,2))
#Wersja z wykorzystaniem zapisu pierwiastka jako potęgi [tex]\sqrt[3]{a}=a^{\frac{1}{3}}[/tex]
a=int(input('Podaj liczbę a: '))
pierwiastek=a**(1/3)
print('\n∛(',a,') =',round(pierwiastek,2))
#Zauważyłem, że w wersji drugiej program ma problem z zaokrąglaniem jak wprowadzimy liczbę ujemną (błąd). Musimy coś z tym zrobić. Obszedłem ten problem warunkiem if, w którym drukuje minusa przy wyniku, a zaokrągla wartość bezwzględną z pierwiastka.
a=int(input('Podaj liczbę a: '))
pierwiastek=a**(1/3)
if a<0:
print('\n∛(',a,') = -',round(abs(pierwiastek),2))
else:
print('\n∛(',a,') = ',round(pierwiastek,2))
#Zad. 1 Bez zabezpieczenia dzielenia przez 0 i pierwiastka z liczby ujemnej:
#Z biblioteką math:
import math
a=int(input('Podaj liczbę a: '))
b=int(input('Podaj liczbę b: '))
suma=a+b
roznica=a-b
iloczyn=a*b
iloraz=a/b
pierwiastek=math.sqrt(a+b)
potega_1=a**b
potega_2=b**a
print('\n',a,'+',b,'=',suma)
print('\n',a,'-',b,'=',roznica)
print('\n',a,'*',b,'=',iloczyn)
print('\n',a,'/',b,'=',iloraz)
print('\n√(',a,'+',b,') =',round(pierwiastek,2))
print('\n',a,'^',b,'=',potega_1)
print('\n',b,'^',a,'=',potega_2)
#Bez biblioteki math:
a=int(input('Podaj liczbę a: '))
b=int(input('Podaj liczbę b: '))
suma=a+b
roznica=a-b
iloczyn=a*b
iloraz=a/b
pierwiastek=(a+b)**(1/2)
potega_1=a**b
potega_2=b**a
print('\n',a,'+',b,'=',suma)
print('\n',a,'-',b,'=',roznica)
print('\n',a,'*',b,'=',iloczyn)
print('\n',a,'/',b,'=',iloraz)
print('\n√(',a,'+',b,') =',round(pierwiastek,2))
print('\n',a,'^',b,'=',potega_1)
print('\n',b,'^',a,'=',potega_2)

