Top.Mail.Ru
Ответы

Просьба помочь с кодом на питоне

123456789101112131415161718192021
 import requests 
from bs4 import BeautifulSoup 
 
def get_weather_forecast(city): 
    try: 
        url = f"https://www.google.com/search?q=погода+{city}" 
        headers = { 
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} 
        response = requests.get(url, headers=headers) 
        if response.status_code == 200: 
            soup = BeautifulSoup(response.text, 'html.parser') 
            weather_box = soup.find('div', class_='BNeawe iBp4i AP7Wnd').text 
            return weather_box 
        else: 
            return "Ошибка при получении прогноза погоды" 
    except Exception as e: 
        print 
 
city = input("Введите название города: ") 
forecast = get_weather_forecast(city) 
print("Прогноз погоды:", forecast) 

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

По дате
По Рейтингу
Аватар пользователя
Мыслитель
11мес

по формуле можно перевести в цельсии

Аватар пользователя
Просветленный
11мес

Не важно откуда ты берешь данные, отнимаешь просто от фаренгейта, сколько там не помню разницу.
Затем создаешь условие. Если допустим 30 градусов или выше то жарко. Если меньше 30 но больше 20 то среднее. Если меньше 20 то прохладно. Если минус - то холодно и мороз. и т.п. Ничего сложного.
А даже вот как

12
 (°C × 9/5) + 32 = °F 
 
1
 temperature = ''.join(filter(lambda x: x.isdigit() or x in ['-', '.'], temperature)) 
Аватар пользователя
Мастер
11мес

Сделай запрос в гугл в градусах

Аватар пользователя
11мес

я на програмера не учился