Odpowiedź :
Odpowiedź:
Poniżej dwie wersje. W załącznikach .txt programy bez komentarzy.
Wyjaśnienie:
Program przy użyciu listy:
lista=[] #zdefiniowanie pustej listy
for i in range(3):
print('Podaj liczbę nr',i+1,end=': ')
a=int(input())
lista.append(a) #dodawanie elementów do listy
lista.sort() #sortowanie listy w kolejności rosnącej
a=lista[0]
b=lista[1]
c=lista[2] #przypisanie kolejnych podanych wartości
if a**2+b**2==c**2: #sprawdzenie warunku wynikającego z tw. Pitagorasa
print('Liczby',a,',',b,'i',c,'tworzą trójkę pitagorejską')
else:
print('Liczby',a,',',b,'i',c,'nie tworzą trójki pitagorejskiej')
Bez listy:
a=int(input('Podaj pierwszą liczbę: '))
b=int(input('Podaj drugą liczbę: '))
c=int(input('Podaj trzecią liczbę: '))
if a>b and a>c: #szukanie największej liczby
x=b
y=c
z=a
elif b>a and b>c: #szukanie największej liczby
x=a
y=c
z=b
else:
x=a
y=b
z=c
if x**2+y**2==z**2: #sprawdzenie warunku wynikającego z tw. Pitagorasa
print('Liczby',a,',',b,'i',c,'tworzą trójkę pitagorejską')
else:
print('Liczby',a,',',b,'i',c,'nie tworzą trójki pitagorejskiej')
Odpowiedź
Załączniki
- Ponieważ brakowało najpierw napisałam program w C++.
- Porównując widać jak bardziej elegancko wygląda w języku Python.
- Może nie kod, który wygląda nieco bardziej skomplikowanie, ale takie same komunikaty jak w języku Python można osiągnąć w C++. Przykład pochodzi z Code::Blocks, ale ten sam kod źródłowy będzie działał również przy użyciu Dev-C++ oraz Visual Studio.
- Kilka przykładów wykonania dla różnych zestawów liczb wykonany na platformie replit. ( Jak widać po lewej stronie kod jest prostszy, takiego typu jak w pierwszym załączniku, ale na tamtej platformie bez żadnych problemów można pisać komunikaty po polsku. )
- C++ z listą. W podanej postaci zadziała pod m.in. pod replit oraz Linuxem. Onlinegdb wymaga usunięcia polskich znaków z nazw zmiennych. Visual Studio wymaga usunięcia polskich znaków z komunikatów. A Code::Blocks i Dev-C++ jednego i drugiego...
Wyjaśnienie
W trzecim załączniku w wierszach 14-16 (4. załącznik wiersze 11-13) umieściłam po trzy instrukcje w jednym wierszu. Nie jest to przypadek, tylko próba osiągnięcia lepszej czytelności (zrozumiałości) programu!
Użycie listy – jak kolega powyżej, bądź tablicy ( w C++ dynamiczna tablica vector ) jest bardziej uniwersalnym rozwiązaniem, bo można w ten sposób badać sumę dwóch, trzech, czterech itd. kwadratów.