Instrukcje warunkowe inaczej sterujące to jedna z podstaw w każdym języku programowania. Działają dokładnie jak nazwa wskazuje – instrukcje lub blok instrukcji wykonuje się tylko, gdy określony warunek (lub zestaw warunków) jest spełniony.
Sprawdzanie warunków
Zacznijmy od czegoś dosć oczywistego dla nas, ale czy również oczywistego dla komputera – porównania.
Porównanie w języku mówionym wygląda tak: „Czy x jest większe od y?”. Chcielibyśmy otrzymać wynik tak lub nie. W matematyce zapiszemy x > y.
Porównania prawda czy fałsz?
Zobaczmy jak z porównaniami radzi sobie Python:
0 < 1
True
>>>
0 > 1
False
>>>
0 <= 1
True
>>>
0 >= 1
False
>>>
1 == 0
False
>>>
1 == 1
True
>>>
1 != 0
True
>>>
1 != 1
False
Znak większość, mniejszości są zapewne oczywiste. Kolejne dwa to znak mniejsze równe i większe równe, pewnie też wyglądały znajomo. By porównać czy dwie wartości są takie same używamy ==
. Za pomocą !=
sprawdzimy wartość twierdzenie „nie równa się”. 1 nie równa się 0 czyli prawda 🙂
Wynik porównania zawsze zwraca nam prawdę – True lub fałsz – False. Porównania można łączyć w bardziej złożone warunki, używając operatorów logicznych:
and
– oznaczającego, że oba warunki muszą być prawdziweor
– oznaczającego, że jednen z dwóch warunków musi być spełniony
x = 10
>>>
x < 10
False
>>>
x > 1 and x < 13
True
>>>
x < 1 and x < 13
False
>>>
x > 1 or x < 13
True
>>>
x != 10 or x > 13
False
>>>
x > 1 and x < 13 or x != 10
True
Na początku ustaliliśmy, że x wynosi 10. W związku z tym ostatni przykład przeczytalibyśmy mniej więcej tak: Czy x jest większe równe 1 ORAZ
x jest mniejsze niż 13 LUB
x nie jest równe 10?
- Czy 10 jest większe niż 1 – True
- Czy 10 jest mniejsze niż 13 – True
- Czy 10 nie równia się 10 – False
Ponieważ między dwoma pierwszymi porównaniami jest słowo and
to oba warunki muszą być spełnione – prawdziwe. Jednak między drugim warunkiem, a trzecim jest słowo or
, w związku z czym wystarczy, że tylko jedna strona warunku jest spełniona. Razem całość jest prawdziwa.
Możemy też dodać nawiasy sugerujące kolejność łączenia warunków:
np x > 1 and (x < 13 or x != 10)
True
(x > 1 and x < 13) and x != 10
False
To nie wszystkie porównania zwracające prawdę lub fałsz.
x = 10
>>>
x is 10
True
>>>
x is not 13
True
>>>
x is '10'
False
>>>
x in [ 1, 12, 10 ]
True
>>>
x in [ 1, 12, 'txt' ]
False
>>>
x not in [ 1, 12, 'txt' ]
True
>>>
'str' is 'str'
True
>>>
'str' is 'string'
False
>>>
'str' in 'string'
True
Kolejne porównania:
– is
– sprawdza czy dwie wartości są identyczne,
– in
– sprawdza czy zmienna jest zawarta w innym obiekcie
– not
– dodaje zaprzeczenie
W związku z powyższym może nasunąć się pytanie:
Czy is
jest tym samym co ==
?
Żeby się przekonać, czy oba porównania działają tak samo sprawdzimy:
'aa' == 'aa'
True
'aa' is 'aa'
True
'aa' == 'a' * 2
True
'aa' is 'a' * 2
True
x = "a"
'aa' == x * 2
True
'aa' is x * 2
False
Ha! Tu Cię mam! x przechowuje wartość stringa „a”, w związku z czym „a”*2 powinno nam dać nowy string „aa”.
Wszystko się, zgadza, dopóki nie dodamy słowa nowy. Znak ==
sprawdza czy po obu stronach równania mamy takie same wartości, natomiast is
sprawdza czy dwie strony równania są identyczne – dwie zmienne wskazują na ten sam obiekt.
Chwila chwila, ale x = 10, x is 10
zwróciło True.
Owszem, przypadek działa tylko dlatego, że Python cachuje małe obiekty typu integer, co jest szczególnym przypadkiem. Dla większych liczb całkowitych to nie działa:
1000 == 10**3
True
1000 is 10**3
False
Jest jeszcze jedna rzecz, którą warto zapamiętać – wartości liczbowe możemy również wyrazić jako wartości logiczne True/False. Przyjmuje się, że 1 odpowiada True, a 0 – False.
Czas na szybkie podsumowanie:
W Pythonie możemy skorzystać z kilku różnych operatorów porównania:
- >
- <
- >=
- <=
- ==
- !=
- is
- in
- not is/in
Do łączenia warunków użyjemy operatorów logicznych:
- and
- or
- not
Instrukcje if
Na początku wpisu wprowadziłam pojęcie instrukcji warunkowej. Instrukcja sterująca służy do sprawdzenia czy zadane wyrażenie warunkowe jest prawdziwe. W zależności od tego czy wyrażenie warunkowe jest prawdziwe czy nie, zależy czy zostanie wykonany fragment kodu.
Przykładowy schemat blokowy:
polecenie1
polecenie2
else:
polecenie3
polecenie4
Instrukcja if (warunek):
dostarcza informacji do interpretera i znaczy jeśli/jeżeli.
if (warunek) – jeżeli warunek jest prawdziwy wykonaj kod polecenia 1 i polecenia 2, w przeciwym wypadku wykonaj polecenie 3 i 4.
Warto zwrócić uwagę na wcięcia. W Pythonie przyjmuje się, że wcięcie powinno składać się z 4 spacji. Dopuszcza się również użycia tabulacji jako wcięcia informacji o bloku kodu.
Stworzymy skrypt adult.py:
age = int(input())
if ( age >= 18 ):
print("Jesteś dorosłym człowiekiem")
else:
print("Trochę Ci zostało do pełnoletności")
Powyższy skrypt zapyta użytkownika o wiek i zwróci informację czy jest już dorosły. Na podstawie dotychczasowych części kursu dodaj wyświetlanie informacji ile lat zostało do pełnoletoności 😉
Nawiasy przy warunku if są opcjonalne, dodane dla was – dla lepszej czytelności.
Instrukcje warunkowe: if…elif … else
Dotychczasowe kody działały wykonując jeden z dwóch bloków kodu. A co jeśli chcemy sprawdzić dodatkowy warunek?
Wówczas możemy ponownie wykorzystać słowo if
lub przyda nam się słowo elif
(else if).
Do poprzedniego kodu dodaj kod:
if (age > 100):
print ("To naprawdę twój wiek?")
następnie zmień if na elif:
elif (age > 100):
print ("To naprawdę twój wiek?")
Skrypt adult_if.py:
if age > 100:
print("To naprawdę twój wiek?")
if age >= 18:
print("Jesteś dorosłym człowiekiem")
else:
print("Trochę Ci zostało do pełnoletności")
Skrypt adult_elif.py
if age > 100:
print("To naprawdę twój wiek?")
elif age >= 18:
print("Jesteś dorosłym człowiekiem")
else:
print("Trochę Ci zostało do pełnoletności")
Możecie zauważyć, że kolejny if
sprawdzi warunek każdorazowo, natomiast elif
– kod wykona się, gdy warunek z if
jest wyrażeniem falszywym, a elif (warunek)
będzie prawdziwy.
Możemy jeszcze zmienić warunek tak, by użyć operatora logicznego AND:
if age >= 18 and age < 100:
print("Jesteś dorosłym człowiekiem")
else:
print("Błędny wiek")
co można także uprościć – lubimy prosty i czytelny kod:
if 18 <= age < 100:
print("Jesteś dorosłym człowiekiem")
else:
print("Błędny wiek")
Jak widać, jedno zadanie można rozwiązać na wiele róznych sposobów 😉
Dorosłość to nie tylko wiek, ale również odpowiedzialność, dlatego na zakończenie rozszerzymy jeszcze nasz kod.
responsible = input("Czy jesteś odpowiedzialny? T/N")
if age > 100:
print("To naprawdę twój wiek?")
elif age >= 18 and responsible == "T":
print("Jesteś dorosłym człowiekiem")
elif responsible != 'T’:
print("Pracuj nad odpowiedzialnością")
else:
print("Trochę Ci zostało do dorosłości")
Czas na zadania if, elif, else w Pythonie 🙂
Zadania nie są ułożone stopniem trudności. Jeśli jakiegoś nie możesz zrobić – przejdź do następnego, może za chwilę wpadniesz na rozwiązanie 😉
Zadanie 1 – pojawiło się powyżej
Skrypt zapyta użytkownika o wiek. Jeżeli użytkownik jest przed 18 wyświetli informację „Użytkownik niepełnoletni” oraz zwróci ile lat zostało użytkownikowi do pełnoletności. Użytkownikom pełnoletnim wyświetli informację „Użytkownik pełnoletni”. Sprawdź czy wiek użytkownika nie przekracza 100 lat i wyświetl komunikat „200 lat ♫”.
Zadanie 2 – kalkulator BMI
W poprzednich częściach pisaliśmy kalkulator BMI, teraz wzbogacimy go o interpretację wyniku. Program powinien sprawdzić czy BMI należy do jednego z 4 wyników: niedowaga/waga normalna/lekka nadwaga i nadwaga. Ponadto w przypadku nadwagi chcemy sprawdzić czy mamy doczynienia z otyłością.
Poniżej tabela z klasyfikacją wyników:
Niedowaga | < 18,5 |
Waga normalna | 18,5 – 24 |
Lekka nadwaga | 24 – 26,5 |
Nadwaga | > 26,5 |
Otyłość I stopnia | 30 – 35 |
Otyłość II stopnia | 30 – 40 |
Otyłość III stopnia | > 40 |
Zadanie 3 – sortowanie liczb
Trzy dowolne liczby zapisz do trzech zmiennych.
Znajdź największą liczbę.
Wyświetl liczby od największej do najmniejszej.
Zadanie 4 – imiona
Utwórz zbiór imion męskich i żeńskich. Poproś użytkownika o podanie imienia. Sprawdź czy imię jest męskie czy żeńskie i wyświetl na ten temat informację. Jeżeli imienia nie ma na liście wyświetl komunikat „Nie znamy tego imienia.” Następnie użytkownik poda informację czy imię jest męskie czy żeńskie. Dodaj imię do listy.
Podpowiedź: warto przypomnieć sobie zadanie 2 z lekcji 4 – Typy i zmienne w Pythonie
Zadanie 5 – twierdzenie Pitagorasa
Pamiętacie z matematyki twierdzenie Pitagorasa?
Trójkąt pitagorejski, to trójkąt prostokątny, którego boki są wyrażone liczbami naturalnymi a, b, c związanymi warunkiem: a2+b2=c2.
a) Poproś użytkownika o podanie długości boków A, B i C i sprawdź czy w ogóle możliwe jest utworzenie z nich trójkąta 🙂
b) Odpowiedz czy trójkąt jest trójkątem pitagorejskim.
c) Szczególnym przypadkiem jest trójkąt egipski o stosunkach długości 3:4:5. Sprawdź czy trójkąt pitagorejski jest trójkątem egipskim.
d) Uwzględnij, że kolejność danych nie musi mieć znaczenia! Tzn. długość C użytkownik może podać jako pierwszą wartość. Przypomnij sobie zadanie 3 🙂
Przykładowe dane:
- nie-trójkąty: [6, 9, 20], [3, 6, 11], [31, 14, 17]
- trójkąty nie-pitagorejskie: [4, 4, 4], [31, 17, 16], [10, 5, 8]
- trójkąty pitagorejskie: [3, 4, 5], [6, 8, 10], [5, 12, 13], [9, 40, 41], [8, 15, 17]
- trójkąty egipskie: [9, 12, 15], [3, 4, 5], [15, 20, 25], [6, 8, 10]
Rozwiązania do zadań znajdziecie na Githubie cz. 6 – odpowiedzi.
Zachęcam do dzielnia się uwagami, pytaniami, problemami w komentarzach pod postem 😉
Ten wpis jest częścią cyklu Python kurs od podstaw:
Nie rozumiem zapisu dotyczącego sortowania, który znajduje się w rozwiązaniu zadania 3 – przydałoby się jakieś wyjaśnienie. Bez niego zrozumiałe jest dla mnie jedynie takie rozwiązanie:
a = 5
b = 15
c = 100
if a > b and a > c and b > c:
print(„{}, {}, {} „.format(a, b, c))
if b > a and b > c and a > c:
print(„{}, {}, {} „.format(b, a, c))
if c > b and c > a and b > a:
print(„{}, {}, {} „.format(c, b, a))
if a > b and a > c and c > b:
print(„{}, {}, {} „.format(a, c, b))
if b > b and b > c and c > a:
print(„{}, {}, {} „.format(b, c, a))
Dzięki wielkie za fajnie prowadzony kurs, dobrze mi się z tego uczy.
Odnośnie zadania 1. i jego proponowanego rozwiązania to wydaje mi się ze lepiej zadziałało by to z elifem ?
Według proponowanego rozwiązania i wpisaniu np. wieku 44 odpalają się również warunki z else ifa.
Ile masz lat?
44
Użytkownik pełnoletni
Użytkownik niepełnoletni
Do 18. urodzin zostało -26 lat
Mam Pythona 3.7 i niestety też mam taką odpowiedź.
Niestety elif też nie jest bez wady bo podaniu wieku np 162 to mam informację, że jestem pełnoletni ale mi 200 lat nie śpiewa.
ja to rozwiązałem następująco:
Mi w ten sposób zadziałało.
u mnie nie występuje ten błąd, mam taki kod:
age=int(input(„Ile masz lat?”))
if age >= 18:
print(„Użytkownik pełnoletni”)
elif age>100:
print(„200 lat ♫”)
else:
print(„Użytkownik niepełnoletni.\nZostało Ci {} lat do osiągnięcia pełnoletności”.format(18-age))
Kurs jest super! Mam jedno pytanie odnośnie zadania nr 3 oraz ostatniego. W jaki sposób fragment kodu poniżej sprawia, że kolejność wprowadzonych liczb jest jakby bez znaczenia? Ja
swój program napisałem w inny sposób, niby działa, ale wszystkie
warianty porównań rozpisałem ręcznie.
if c < a: temp = c c = a a = temp if c < b: temp = c c = b b = temp if b < a: temp = b a = b b = temp Mój program: #Sprawdzenie, czy utworzenie trójkąta jest możliwe z podanych boków if ( a+b>c and b+c>a and a+c>b ):
print(„Z boków o podanych długościach można zbudować trójkąt „)
else:
print(„Utworzenie trójkąta z podanych boków jest niemożliwe! „)
#Sprawdzenie czy trójkąt jest trójkątem pitagorejskim
if (a%3==0 and b%4==0 and c%5==0):
print(„Trójkąt jest pitagorejski! „)
elif (a%3==0 and b%5==0 and c%4==0):
print(„Trójkąt jest pitagorejski! „)
elif (a%4==0 and b%3==0 and c%5==0):
print(„Trójkąt jest pitagorejski! „)
elif (a%4==0 and b%5==0 and c%3==0):
print(„Trójkąt jest pitagorejski! „)
elif (a%5==0 and b%3==0 and c%4==0):
print(„Trójkąt jest pitagorejski! „)
elif (a%5==0 and b%4==0 and c%3==0):
print(„Trójkąt jest pitagorejski! „)
else:
print(„Trójkąt NIE jest trójkątem pitagorejskim! „)
#Sprawdzenie czy trójkąt jest trójkątem egipskim
if (a==3 and b==4 and c==5):
print(„Trójkąt jest trójkątem egipskim! „)
elif (a==3 and b==5 and c==4):
print(„Trójkąt jest trójkątem egipskim! „)
elif (a==4 and b==3 and c==5):
print(„Trójkąt jest trójkątem egipskim! „)
elif (a==4 and b==5 and c==3):
print(„Trójkąt jest trójkątem egipskim! „)
elif (a==5 and b==3 and c==4):
print(„Trójkąt jest trójkątem egipskim! „)
elif (a==5 and b==4 and c==3):
print(„Trójkąt jest trójkątem egipskim! „)
else:
print(„Trójkąt NIE jest trójkątem epipskim! „)
Właśnie też nie rozumiem sposobu tego sortowania kolejności liczb.. Ktoś wie o co chodzi?
Rozpisałam to w ten sposób:
a=int(input(„please give number one”))
b=int(input(„please give number two”))
c=int(input(„please give number three”))
if a>b and a>c:
if a a and b> c:
if ba and c>b:
if c<a+b:
print("the triangle is possible to create")
if c**2==b**2+a**2:
print ("pitgorejski")
if c/5==b/3==a/4 or c/5==b/4==a/3:
print("egipski")
else:
print("the triangle in not possible to create")
if c
Dzięki wielkie, tego mi brakowało 🙂
A co to jest temp?
Witam 😉
W zadaniu 5 znalazłem błąd jak wpisujemy długości boków np. 15,2,10 to wyświetla nam na konsoli boki o dł 2, 2, 15 prawdopodobnie jest to błąd złego przypisania:
”
if c < a: temp = c c = a a = temp if c < b: temp = c c = b b = temp if b < a: temp = b a = b b = temp print (a , b, c) " ja rozwiązałem ten problem następująco : " a=int(input('Podaj długosci bokow: ')) b=int(input('ttttt ')) c=int(input('ttttt ')) tab=[a,b,c] tab=sorted(tab) a=tab[0] b=tab[1] c=tab[2] print(a,b,c) "
Błąd jest w trzecim if-e.
Jest „temp = c” a powinno być „temp = a”
Kurs świetny
Witam 😉
W odpowiedzi na zadanie 5 zauważyłem błąd
zad 3 można prościej wykonać(tak mi się zdaje) 😉
x = 5
y = 15
z = 10
if (x > y) and (x > z):
maximum = x
elif (y > x) and (y > z):
maximum = y
else:
maximum = z
print(maximum)
if x > y and x > z:
if y > z:
print(x,y,z)
else:
print(x,z,y)
if y > x and y > z:
if x > z:
print(y,x,z)
else:
print(y,z,x)
else:
if z > x and z > y:
if x > y:
print(z,x,y)
else:
print(z,y,x)
print(„Ile masz lat?”)
age = int( input() )
if ( age >= 18 ):
print(„Jesteś dorosłym człowiekiem”)
elif ( age > 100 ):
print(„To naprawdę twój wiek?”)
else:
print(„Trochę Ci zostało do pełnoletności”)
Skoro warunek warunek elif będzie rozpatrywany dopiero po tym jak if nie zostanie spełniony to automatycznie przy tym układzie elif też nigdy nie zajdzie.
Wydaje mi się że powinniśmy do if wrzucić ograniczenie wieku z góry:
print(„Ile masz lat?”)
age = int( input() )
if ( 100>=age >= 18 ):
print(„Jesteś dorosłym człowiekiem”)
elif ( age > 100 ):
print(„To naprawdę twój wiek?”)
else:
print(„Trochę Ci zostało do pełnoletności”)
Też to zauważyłem, ale ja to rozwiązałem tak:
# -*- coding: utf-8 -*-
print(„Ile masz lat?”)
age = int( input() )
if ( age >= 18 and age<=100 ): print("Jesteś dorosłym człowiekiem. A przynajmniej pełnoletnim... :)") elif ( age > 100 ):
print(„To naprawdę twój wiek? Jeśli tak, to 200 lat życzymy!”)
else:
print(„Zostało Ci do pełnoletności jeszcze tyle lat: {}”.format(18-age))
Witam. Kurs jest super. Jestem świeży w stukaniu kodu. To mój pierwszy język w nauce i póki co wszystko idzie gładko. Właśnie dotarłem do zadania trzeciego. Wybacz, ale moja leniwa natura kazała mi olać idee przećwiczenia instrukcji warunkowych i poszukać innego rozwiązania:
while True:
A = int(input(’Podaj pierwszą cyfre:’))
B = int(input(’Podaj druga cyfre: ’))
C = int(input(’Podaj trzecia cyfre: ’))
valueList = [A, B, C]
valueList.sort(reverse=True)
print(’Największa liczba to: ’ + str(max(valueList)))
print(*valueList, sep=’ ’)
Po prostu nie chciało mi się tyle pisać i zastanawiałem się czy można to ugryźć inaczej.
Pozdrawiam.
Kolejny błędzi https://uploads.disquscdn.com/images/1c60cba5853866b936268b8e9573febf9700b8eb4f79ec256acbdd99075bdafc.png k:
Czy ktoś może mi wytłumaczyć – jak krowie na rowie – o co chodzi z tym sortowaniem? W zadaniu numer 3, jak i w zadaniu numer 5 jest zastosowane sortowanie, którego nie rozumiem. Ja rozwiązałem to w sposób trochę łopatologiczny:
…i chciałbym zrozumieć o co chodzi w sposobie z tych zadań.
Super, coraz więcej rozumiem 🙂 Bardzo fajnie prowadzony kurs 😉
To chyba jeden z najistotniejszych elementów programowania. Dziękuję :*
Można oczywiście to zrobić inaczej, a nie przez listę.
Myślę, że można się posilić o napisanie samemu sortowania ale po co jak już jest to zrobione? 🙂
t = „Podaj długość boku : ”
try:
a = int(input(„{}a :”.format(t)))
b = int(input(„{}b :”.format(t)))
c = int(input(„{}c :”.format(t)))
except ValueError:
print(„Błąd danych, tylko liczby naturalne”)
exit()
print(„Bok A = {}\nBok B = {}\nBok C = {}”.format(a,b,c))
boki = [a,b,c]
boki.sort()
a = boki[0]
b = boki[1]
c = boki[2]
if a + b < c:
print("To nie jest trójkąt, suma 2 krótszych boków nie może być mniejsza od długości nadłuższego z boków")
print("{} + {} =".format(a,b) ,a + b, " jest dłuższe od {}".format(c))
else:
print("Jest to trójkąt !", end = '')
if c**2 == b**2 +a**2 :
print(" Pitagorejski.")
elif a/3 == b/4 == a/5:
print(" Egipski")
else:
print(" Ale nie pitagorejski.")
Dla zadania 3, znalezienie największej liczby w pythonie można uprościć do następującej postaci:
Na tym etapie pomogłem sobie tylko metodą sortowania listy sort() + użyłem parametru sep, bo mam problem z prawidłowym wyświetlaniem posortowanych liczb gdy używam do tego przedostatniej linii kodu (a , b , c zamiast a, b, c).
Ja tak rozwiązałem zadanie 4 wcięcia mi wycieło:)
Kupiłem książkę Python dla zupełnie początkujących…polecam
Możecie zauważyć, że kolejny if sprawdzi warunek każdorazowo, natomiast elif – kod wykona się, gdy warunek z if jest wyrażeniem falszywym, a elif (warunek) będzie prawdziwy.
Moje pytanie: Jakim cudem może wykonać się warunek elif age>100 skoro przed tym jest if age>18. Ten warunek się nigdy nie wykona jak dobrze rozumiem.
Dzięki za czujność, rozszerzałam przykłady przy ostatniej aktualizacji wpisu i mi się coś kolejność warunków skopała
kurs 6 zadanie 4 imiona, trochę innaczej ale myślę, że fajnie
Niech mi ktoś wytłumaczy zadanie nr 3 i sortowanie od największej do najmniejszej bo kompletnie nie mogę tego rozkminić 🙂
Dzięki za super kurs – natomiast odnośnie zadania 2 BMI – wydaje mi się że w warunkach na otyłość jest błąd np: 30 >= BMI > 35 a wg mnie powinno być: <= BMI < 35. W tym pierwszym przypadku liczy błędnie – zawsze wyświetla otyłość III stopnia.
Pozdrawiam
Cześć,
Nie rozumiem jednego polecenia:
1000 is 10**3
Na stronie wyświetla się jako False, a u mnie jako True, jednak jak zamienimy 10 na x to wtedy mamy False.
Czy o to chodziło Ci w przykładzie?
Wydaje mi się, że zadanie 3. można rozwiązać dużo prościej, niech ktoś mnie poprawi, jeśli źle myślę. Mój kod:
Super kurs. Fajne zadania, chociaż zadanie trzecie i piąte łatwiej zrobić używając list. Poproszę o kolejne lekcje 🙂
Cześć, piszesz że dla większych liczb porównanie z użyciem „is” nie zadziała a u mnie za każdym razem jest jak niżej. Dlaczego?
Używam python 3.8.1
>>> 1000000 is 100**3
:1: SyntaxWarning: „is” with a literal. Did you mean „==”?
True
>>>
Tak, od wersji 3.8+ Python w tym miejscu wyświetli ostrzeżenie (np. dla porównania stringów czy liczb)
`is` – sprawdza „tożsamość” dwóch wyrażeń – dwie zmienne wskazują ten sam obiekt
`==` – sprawdza równość – dwie zmienne mają równe wartości
A ja trochę inaczej rozwiązałem zadanie 4 – jakoś przegapiłem słowniki i skorzystałem z listy :p Super kurs, świetnie się bawię przy zadaniach! 🙂
Rozwiązałem zadanie z sortowaniem 3 liczb „po swojemu”.
Mam takie zadanie:
Napisz specyfikację zadania i program, który wyświetli liczby naturalne od 1 do n i dalej – liczby od n do 1 w kolumnie.
Potrafi ktoś to zrobić?
Dziękuję!
2021_05_20
PS. W Twoich rozwiązaniach wkradły się drobne błędy (np zadanie pierwsze)
Rita wielkie dzięki za ten kurs!
Jak ktoś nie rozumie metody sortowania zastosowanej przez Ritę w zad. 3, to proponuję wziąć 3 pudełka (kubki, szklanki, cokolwiek) wrzucić do nich po karteczce z numerem, podpisać je x,y,z, na jednej ręce napisać „temp” a następnie posortować zawartość zakładając, że w jednym pudełku na raz lub w ręce „temp” może znajdować się tylko jedna karteczka na raz 😉
ze sortowaniem można sobie poradzić w łatwiejszy sposób 🙂
Trójkąt egipski jest jeden, inne to pitagorejskie.
dzięki wszystko o instrukcjach warunkowych w Pythonie jasne i zrozumiałe