Cześć drodzy pasjonaci. Jeżeli ktoś będzie miał chwile, czy może mi wyjaśnić dlaczego poniższe dwa podobne programy NIE daja takiego samego efektu dla takich samych wprowadzonych danych. Dlaczego w pierwszym kodzie instrukcje ' else' wykonuje się, pomimo, że wprowadzone dane spełniają pierwszego 'if-a' ?
print("Ile masz lat?")
age = int( input() )
if ( age >= 18 ):
print("Użytkownik pełnoletni")
if ( age > 100 ):
print("♫ 200 lat ♫")
else:
print("Użytkownik niepełnoletni")
print("Do 18. urodzin zostało", 18 - age, "lat")
Rezultat z konsoli:
PS C:\Users\PL9891> python C:\Users\PL9891\Desktop\P\wiek2.py
Ile masz lat?
40
Użytkownik pełnoletni
Użytkownik niepełnoletni
Do 18. urodzin zostało -22 lat
Ten kod jako rozwiązanie zadania widnieje na Github: https://github.com/ritaly/python-6-instrukcje-warunkowe/blob/master/Odpowiedzi/1.py
A to moja wersja, która działa poprawnie. Nadal jednak nie rozumiem, dlaczego 'else' z pierwszego kodu sie wykonuje.
print("Ile masz lat?")
age = int( input() )
if ( age >= 18 ):
print("Użytkownik pełnoletni")
if (age > 100):
print("życzymy 200 lat ♫")
elif (age < 18):
print("Użytkownik niepełnoletni")
old = 18- age
print("Masz jeszcze {} lat do 18 roku zycia." .format(old))
Rezultat z konsoli:
PS C:\Users\PL9891> python C:\Users\PL9891\Desktop\P\wiek.py
Ile masz lat?
40
Użytkownik pełnoletni