Форум сайта python.su
Возникает ошибка:
https://savepice.ru/full/2019/6/30/676eee3f63a0992ff377fd25337b380e-full.png.html
Возникает ошибка: ^
IndentationError: unindent does not match any outer indentation level
C:\Python>bot.py
File “C:\Python\bot.py”, line 14
answer += “Температура в данном городе: ” + str(temp) + “\n\n”
^
IndentationError: unindent does not match any outer indentation level
Используемая ОС: Виндовс 10 64 бит,
Версия Python: 3.7.3
установленные модули: pyowm, pyTelegramBotAPI==0.3.0, pyTelegramBotAPI
Сам код:
import pyowm import telebot owm = pyowm.OWM('b835a7aae1d1bb2d3516b660bc2019db', language = "ru") bot = telebot.TeleBot("844058209:AAGjEHluy8tTU3G4z64wOtq-HYy7T7T9-uY") @bot.message_handler(content_types=['text']) def send_echo(message): observation = owm.weather_at_place( message.text ) w = observation.get_weather() temp = w.get_temperature('celsius')["temp"] answer = "В городе " + message.text + "сейчас" + w.get_detailed_status() + "\n" answer += "Температура в данном городе: " + str(temp) + "\n\n" if temp < 10: answer += "Одевайся теплее на улице холодно" elif temp < 20: answer += "Можешь одеть что-нибудь полегче, рубашку с джинсами например " else: answer += "Выходи в трусах, там очень тепло" bot.send_message(message.chat.id, answer) bot.polling( none_stop = True )
Отредактировано kiryanovik (Июнь 30, 2019 12:43:25)
Офлайн
А что за дополнительные отступы в первых 4 строчках метода?
Офлайн
Egorro13https://savepice.ru/full/2019/6/30/683673350bda5d635f55ea39ed32d9b0-full.png.html
А что за дополнительные отступы в первых 4 строчках метода?
Отредактировано kiryanovik (Июнь 30, 2019 17:17:48)
Офлайн
Egorro13Сейчас вроде разобрался с этой ошибкой, конкретно ее больше не возникает, я просто делал отступы пробелом (вручную) а так оказывается нельзя, надо интером чтоб редактор кода автоматически переносил строки на нужное место - увидел это когда выделил весь код и там подсвечивается где я вручную пробелом щелкал и где редактор кода сам перенес! В общем теперь бот запускается, но проблема теперь в чем то другом)) Я просто уже не понимаю что может быть, весь день сижу)
А что за дополнительные отступы в первых 4 строчках метода?
Офлайн
kiryanovikМожно и пробелом, но чтобы их количество для всех отступов совпадало, обычно по Pep-8 ставится 4 пробела на 1 отступ.
kiryanovikКак я понимаю, ошибка возникает из-за того, что для бесплатных аккаунтов функция недоступна
По ссылке скриншот на ошибку при запуске в cmd, ошибка возникает конкретно когда боту пишешь город для вывода
Офлайн
Egorro13До телеграмма я написал код просто для cmd, с использованием этого же ключа и все работало, а в телеграмме не хочет, плюс я зарегистрировал на owm еще один аккаунт и история таже самая. Не совсем понятно из за чего это происходит
Офлайн
Egorro13Или для каких именно аккаунтов вы имеете ввиду ? аккаунт на owm или в телеграмме все же ?
Офлайн
Egorro13Что можете порекомендовать взамен owm ? бесплатное конечно же
Офлайн
kiryanovikПо ссылке можно увидеть, какие функции доступны бесплатно
плюс я зарегистрировал на owm еще один аккаунт и история таже самая. Не совсем понятно из за чего это происходит
kiryanovikНа скриншоте мало что можно разобрать из-за картинки и мелкого размера, но все же видно, что исключение выбрасывает именно OWM.
Или для каких именно аккаунтов вы имеете ввиду ? аккаунт на owm или в телеграмме все же ?
kiryanovikПорекомендовать не могу - с этим делом еще не сталкивался, просто попытался помочь по смыслу. Возможно, кто-то более опытный что-то посоветует
Что можете порекомендовать взамен owm ? бесплатное конечно же
Офлайн
Egorro13Спасибо большое) с вашей помощью хоть что то стало понятно!
Офлайн