@Roma123456789

Почему при вводе числа всегда будет выводиться (доброй ночи)? Как исправить ошибку?

print("Привет! Это твой помощник")
print("Он сможет ответить на все твои вопросы")
print("Если хочешь задать вопрос, пиши)")
wopros1 = input()
if wopros1 == "какое время суток сейчас?":
    print("Введите округлённое число!!!")
    wopros = input()
    if wopros <= str(5) or wopros >= str(6):
        print('Доброй ночи!')
    elif wopros >= str(7) and wopros <= str(11):
        print('Доброе утро!')
    elif wopros >= str(12) and wopros <= str(17):
        print('Добрый день!')
    elif wopros >= str(18) and wopros <= str(22):
        print('Добрый вечер!')
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
1. Сначала проверяй более узкий диапазон (например, 22 часов - 5 часов), потом уже более широкий.
2. Ты вообще понимаешь, что ты сравниваешь строки, а не целые числа? Строки сравниваются в лексикографическом порядке, т.е. символы берутся слева направо и сравниваются по позиции в алфавите до первого неодинакового символа. Т.е. "5" будет больше "12".
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ForestAndGarden
@ForestAndGarden
Совершенствовать среду обитания
Отрабатывается первое if для wopros.

Например, вводим 7. 7 >=6? Да. Доброй ночи!

Проверка вводимых значений должна производиться от бо́льших к меньшим.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы