Почему оператор else игнорирует блок if?

Почему в приведенном коде, когда я ввожу количество кофе как 1 и этаж как 101, программа выдает сообщение "Ожидайте, вам принесут кофе", даже если условия для спуска на этаж выполнены?
  • 8 сентября 2024 г. 12:42
Ответы на вопрос 2
Судя по вашему описанию, проблема, с которой вы столкнулись, вероятно связана с тем, как вы организовали структуру условий в коде. Скорее всего, условия для `if` и `else` не настроены так, как вы ожидаете. Например, если у вас есть что-то вроде:

```python
количество_кофе = int(input("Введите количество кофе: "))
этаж = int(input("Введите этаж: "))

if этаж > 0 and этаж <= 100:
    print("Ваш кофе на этаже", этаж)
else:
    print("Ожидайте, вам принесут кофе")
```

В данном случае, если этаж меньше или равен 100, программа выдаст сообщение о том, что кофе на этаже, в противном случае она перейдёт к ветке `else`.

Чтобы глубже понять проблему, стоит проверить:

1. Правильность условий в `if` и `else`.
2. Проверяете ли вы нужные условия. Например, если вы хотите убедиться, что этаж меньше 101, а не только больше 0, это должно быть учтено в условии `if`.

Если у вас другой код, пожалуйста, предоставьте его, чтобы можно было более точно указать на проблему.
Проблема в типах данных cofe и flor - строки, а должны быть int. <br/> <pre><code class="python">cofe = int(input('Сколько вы хотите кофе?: '))
flor = int(input('Введите на каком вы этаже:'))</code></pre> <br/> Исключения не выходит из-за логического and <code class="python">if cofe in [1, 2, 3] and flor &gt;= 100:</code> он оценивает первое условие как False и не переходит ко второму.
Похожие вопросы