Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
34 / 25 / 8
Регистрация: 16.11.2019
Сообщений: 179

Проверка ввода и повторный ввод

15.04.2020, 10:29. Показов 1857. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Я делаю WeatherBot`a, в его функционал входит проверка, существует ли введённый пользователем город вообще, если нет, то нужно задать повторный вопрос и так далее. Я написал вот такой код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@bot.message_handler(content_types=['text'])
def forecast_short(message):
    global markup1, markup2
    global forecast_short, forecast_full
 
    city = message.text
    while True:
        try:
            observation = owm.weather_at_place(city)
        except pyowm.exceptions.api_response_error.NotFoundError:
            bot.send_message(message.chat.id, 'Указанный вами город не существует')
            bot.send_message(message.chat.id, 'Укажите ваше местоположение')
            def city_handler(message):
                city = message.text
        else:
            break
Но он работает не корректно, ибо при вводе неверного пароля пользователем бот начинает делать вот это:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
Указанный вами город не существует
Укажите ваше местоположение
...
Но если в момент этого спама ввести корректный город, то программа выводит прогноз погоды)), а дальше опять продолжается спам.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2020, 10:29
Ответы с готовыми решениями:

Запрос на повторный ввод в случае ввода некорректного значения
Помогите модифицировать свойство чтобы для свойства Name можно было вводить только буквы, а для свойства Year только числа. Если...

Проверка на повторный ввод элемента массива
Вот код во время проверки на повторный ввод элемента массива получается бессконечный цыкл и еще одна проблема при проверке на ввод чисел...

Проверка и повторный ввод текста(ложный результат)
Здравствуйте! Каким образом можно реализовать принцип - - . К примеру есть строчки кода: System.out.println("Симуляция первой...

1
28 / 18 / 10
Регистрация: 07.03.2020
Сообщений: 73
15.04.2020, 10:38
Ну так ты сам следишь за тем, что ты пишешь? Ты выводишь сообщение о том, что город не существует, а далее просишь ввести местоположение, вопрос: нахрена? В начале бесконечного цикла начни спрашивать город, если такого не существует, используй continue, чтобы спросить город заново, если существует break, а далее код для выведения информации.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2020, 10:38
Помогаю со студенческими работами здесь

Меню.Ввод-вывод.Проверка на ошибки ввода
Здравствуйте, помогите переделать программу без go to при чтении ввода scanf /*Задача: Напишите программу, которая выводит на экран...

Проверка правильности ввода. Запретить ввод чисел
Здравствуйте форумчане! Хочу сделать в коде проверку типа: если вводить, где положено string -числа, то выходит сообщение <Not...

Повторный ввод
Добрый вечер. Подскажите , пожалуйста , как после ввода неверного расширения (после показа всех возможных доступных расширений) предвидеть...

Повторный ввод записи в БД (D7)
как сделать что бы в поле группа повторно не водился одно и тоже данные ??? не скажите народ ?

Повторный ввод данных
Здравствуйте, возникла проблема с повторным вводом данных, т.е. после ввода данных или при выводе ошибки программа должна предлагать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru