Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2014 13:58:44

haramba
Зарегистрирован: 2014-11-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

[Решено] Не могу понять логику elif

Простейший пример:

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

Отредактировано haramba (Ноя. 14, 2014 16:15:24)

Офлайн

#2 Ноя. 14, 2014 14:10:20

Mixeyka
Зарегистрирован: 2014-09-19
Сообщения: 32
Репутация: +  1  -
Профиль   Отправить e-mail  

[Решено] Не могу понять логику elif

haramba
Если хочешь, чтобы проверяло все условия, то используй только if.

Пример:

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

А при использовании елиф, если было true, последующие условия не проверяются и происходит выход из блока.

Отредактировано Mixeyka (Ноя. 14, 2014 14:12:13)

Офлайн

#3 Ноя. 14, 2014 15:23:03

Morven
От: Кемерово
Зарегистрирован: 2013-12-24
Сообщения: 154
Репутация: +  7  -
Профиль   Отправить e-mail  

[Решено] Не могу понять логику elif

elif - иначе если
То есть если первое значение истина то иначе пропускается.

Офлайн

#4 Ноя. 14, 2014 16:15:10

haramba
Зарегистрирован: 2014-11-14
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

[Решено] Не могу понять логику elif

Понял. Решено

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version