Найти - Пользователи
Полная версия: [Решено] Не могу понять логику elif
Начало » Python для новичков » [Решено] Не могу понять логику elif
1
haramba
Простейший пример:

a=int(input('Num:'))
b=10
if a<b:
    print('<10')
elif a==0:
    print('This is 0')
else:
    print('>10')

Не могу понять, почему при вводе 0, программа не выдает строку This is 0.

Num:0
<10
Process finished with exit code 0

По-моему, при вводе нуля, программа проверяет условие a<b, и если оно верно - работает print('<10'), потом программа проверяет elif a==0: и должна выдавать вторую строку This is 0.
Очевидно, я не понимаю логику работы elif, помогите разобраться.

Этот пример мне полностью понятен, но я не могу понять, чем он отличается от моего:

number = 23
guess = int(input('Введите целое число : '))
if guess == number:
    print('Поздравляю, вы угадали,') # Здесь начинается новый блок
    print('(хотя и не выиграли никакого приза!)') # Здесь заканчивается новый блок
elif guess < number:
    print('Нет, загаданное число немного больше этого.') # Ещё один блок
    # Внутри блока вы можете выполнять всё, что угодно ...
else:
    print('Нет, загаданное число немного меньше этого.')
    # чтобы попасть сюда, guess должно быть больше, чем number
Mixeyka
haramba
Если хочешь, чтобы проверяло все условия, то используй только if.

Пример:
a=int(input('Num:'))
b=10
if a<b:
    print('<10')
if a==0:
    print('This is 0')
else:
    print('>10')

А при использовании елиф, если было true, последующие условия не проверяются и происходит выход из блока.
Morven
elif - иначе если
То есть если первое значение истина то иначе пропускается.
haramba
Понял. Решено
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB