Programowanie w pythonie #4 | if, elif, else

Programowanie w pythonie #4 | if, elif, else

Cześć!

Narzędzie które do tej pory poznałeś w pythonie wystarczą do pisania bardzo prostych projektów, ale co w sytuacji, w której chciałbyś spytać użytkownika o coś, a następnie wykonać 1 z 2 operacji, w zależności od tego, co napisał użytkownik? Z twoją obecną wiedzą, nie byłbyś w stanie tego zrobić, ale z pomocą przyjdzie ci warunek „if”.

1) age = int(input("Enter your age: "))
2) if age > 18:
3)    print("Your are of legal age")
4) if 18 >= age:
5)    print("You aren't of legal age")

W 1 linii kodu przypisuję zmiennej „age” wartość wpisaną przez użytkownika, a następnie zmieniam jej typ na integer(nie da sie porównać typu string, z typem int). W 2 linii kodu został użyty if, aby sprawdzić czy wiek użytkownika jest większy od 18, jeżeli jest, to wykonuje się kod, który jest wcięty(kod po użyciu if musi być wcięty o 4 spacje, lub o 1 użycie taba, w ten sposób zostaje rozpoznane że dana część kodu wykona się tym w przypadku, gdy warunek w ifie jest spełniony). Po napisaniu warunku w ifie(oraz w każdej innej instrukcji warunkowej, lub pętli) trzeba napisać dwukropek.
W 4 linii kodu zostaje sprawdzone, czy 18 jest większe, lub równe od wieku użytkownika (operator >= oznacza większy lub równy, o operatora będzie później osobny post).

Z ifem często używana jest instukcja warunkowa „elif”. Jest ona używana po instrukcji if, nigdy przed nią. Między tymi dwiema instrukcjami jest jedna, dosyć zasadnicza różnica, mianowicie jeżeli użyjemy 2 instrukcji if w jednym kodzie, to za jednym wykonaniem kodu, obie mogą się wykonać, natomiast jeżeli użyjemy if, a potem elif, to w trakcie jednego wykonania kodu może sie wykonać tylko jedna z tych instrukcji, poniżej podam przykłady.

1) Height = int(input("Enter your height: "))
2) if Height > 150:
3)     print("You are taller than 150 cm")
4) if 200 > Height:
5)     print("You are smaller than 200 cm")

W powyższym przypadku obie instrukcje się wykonały, ponieważ w oby został spełniony warunek ich wykonania.

1) Height = int(input("Enter your height: "))
2) if Height > 150:
3)     print("You are taller than 150 cm")
4) elif 200 > Height:
5)     print("You are smaller than 200 cm")

Natomiast w tym przypadku wykona się tylko jedna z tych instrukcji (jeżeli obie są prawdziwe, program wykona tą, którą jaką pierwszą napotka).

Został jeszcze warunek else. Jest on używany w sytuacji w której każdy inny warunek nie jest spełnia warunków.
Ponieważ on jest kartą „wyjście z więzienia” czyli musi się zawsze sprawdzić, kiedy inne warunki nie działają, to nie ma on żadnego warunku do swojego spełnienia.

1) people = int(input("How many people you have in class? "))
2) if 10 > people:
3)     print("You have less than 10 people in class! ")
4) elif people > 20:
5)     print("You have more than 20 people in class! ")
6) else:
7)     print("You have more than 9 people and less than 20 people in class")

Taka porada, traktuj konstrukcję if-elif-else jako blok warunkowy. Jeżeli napiszesz if, zaczynasz kolejny blok warunkowy, użycie else, kończy blok warunkowy. Ale elif możesz używać ile chcesz, i to nie sprawi, że blok się się skończy.
Jeszcze pare wskazówek co do uzywania ifów, elifów, oraz else.
1) Możesz użyć else bez użycia elif.
2) Możesz użyć elif bez else.
3) Nie możesz użyć elif, ani else, bez użycia if.

Dodaj komentarz