Задать вопрос
@Moroz22848

В чем ошибка может заключаться?

Нужно написать код по заданию, вроде как всё сделал но выдает ошибку "код работает, но сделал что то лишнее или что то не так" Задание вот:

Напишите функцию what_weather() (англ. «какая погода?»), которую затем будете использовать в коде Анфисы:

Выполните HTTP-запрос, поместив вызов функции get() внутрь блока try.
Значения URL и параметров получите из функций make_url() (в неё нужно передать нужный город как аргумент city) и make_parameters().
При «выбрасывании» исключения типа requests.ConnectionError (от англ. «ошибка соединения») — функция what_weather() должна возвращать сообщение об ошибке '<сетевая ошибка>'.
Если код HTTP-ответа равен 200 (всё хорошо), верните из функции текст ответа. В противном случае функция должна вернуть строку '<ошибка на сервере погоды>'.
Скрин ошибки: https://pastenow.ru/7486809761d967f85c31e2849cc5160c

Сам код вот:
import requests


cities = [
    'Омск',
    'Калининград',
    'Челябинск',
    'Владивосток',
    'Красноярск',
    'Москва',
    'Екатеринбург'
]


def make_url(city):
    # в URL задаём город, в котором узнаем погоду
    return f'http://wttr.in/{city}'


def make_parameters():
    params = {
        'format': 2,  # погода одной строкой
        'M': ''  # скорость ветра в "м/с"
    }
    return params


def what_weather(city):
    try:
        response = requests.get(make_url(city), params=make_parameters())
        if response.status_code == 200:
            return response
        elif response.status_code != 200:
            return '<ошибка на сервере погоды>'
    except requests.ConnectionError:
        return '<сетевая ошибка>'
    


print('Погода в городах:')
for city in cities:
    print(city, what_weather(city))
  • Вопрос задан
  • 2516 просмотров
Подписаться 1 Средний 14 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@vladoshka
В функции what_weather( ) при коде 200 Вам нужно вернуть response.text вместо response
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽