forked from tdwojak/Python2017
122 lines
3.0 KiB
Python
122 lines
3.0 KiB
Python
|
"""**ćwiczenie 4**
|
||
|
Zainstaluj bibliotekę ``weather-api`` (https://pypi.python.org/pypi/weather-api). Korzystając z niej:
|
||
|
* Wypisz informacje o aktualnej pogodzie.
|
||
|
* Napisz funkcję, która zamieni stopnie ``F`` na ``C``.
|
||
|
* Korzystając z prognozy, znajdź dzień, w którym będzie najzimniej.Wypisz nazwę tygodnia (w języku polskim) i temperaturę w C."""
|
||
|
|
||
|
from weather import Weather
|
||
|
|
||
|
weather = Weather()
|
||
|
|
||
|
miasto ='Gdynia'
|
||
|
location = weather.lookup_by_location(miasto)
|
||
|
|
||
|
condition = location.condition()
|
||
|
|
||
|
data = condition.date()
|
||
|
dzien_slownie = data[0:3]
|
||
|
dzien = data[5:7]
|
||
|
miesiac = data[8:11]
|
||
|
rok = data[12:16]
|
||
|
|
||
|
def day_to_dzien_conv(n):
|
||
|
if n == 'Mon':
|
||
|
n = n.replace('Mon','Poniedzialek')
|
||
|
return n
|
||
|
if n == 'Tue':
|
||
|
n = n.replace('Tue', 'Wtorek')
|
||
|
return n
|
||
|
if n == 'Wed':
|
||
|
n = n.replace('Wed', 'Sroda')
|
||
|
return n
|
||
|
if n== "Thu":
|
||
|
n = n.replace('Thu','Czwartek')
|
||
|
return n
|
||
|
if n == 'Fri':
|
||
|
n = n.replace('Fri', 'Piątek')
|
||
|
return n
|
||
|
if n == 'Sat':
|
||
|
n = n.replace('Sat', 'Sobota')
|
||
|
return n
|
||
|
if n == 'Sun':
|
||
|
n = n.replace('Sun', 'Niedziela')
|
||
|
return n
|
||
|
|
||
|
dzien_slownie = day_to_dzien_conv(dzien_slownie)
|
||
|
|
||
|
|
||
|
def month_to_miesiac_conv(z):
|
||
|
if z == 'Jan':
|
||
|
z = z.replace('Jan','Styczen')
|
||
|
return z
|
||
|
if z == 'Feb':
|
||
|
z = z.replace('Feb', 'Luty')
|
||
|
return z
|
||
|
if z == 'Mar':
|
||
|
z = z.replace('Mar', 'Marzec')
|
||
|
return z
|
||
|
if z== "Apr":
|
||
|
z = z.replace('Apr','Kwiecien')
|
||
|
return z
|
||
|
if z == 'May':
|
||
|
z = z.replace('May', 'Maj')
|
||
|
return z
|
||
|
if z == 'Jun':
|
||
|
z = z.replace('Jun', 'Czerwiec')
|
||
|
return z
|
||
|
if z == 'Jul':
|
||
|
z = z.replace('Jul', 'Lipiec')
|
||
|
return z
|
||
|
if z == 'Aug':
|
||
|
z = z.replace('Aug', 'Sierpien')
|
||
|
return z
|
||
|
if z == 'Sep':
|
||
|
z = z.replace('Sep', 'Wrzesien')
|
||
|
return z
|
||
|
if z == 'Oct':
|
||
|
z = z.replace('Oct', 'Pazdziernik')
|
||
|
return z
|
||
|
if z == 'Nov':
|
||
|
z = z.replace('Nov', 'Listopad')
|
||
|
return z
|
||
|
if z == 'Dec':
|
||
|
z = z.replace('Dec', 'Grudzien')
|
||
|
return z
|
||
|
|
||
|
miesiac = month_to_miesiac_conv(miesiac)
|
||
|
|
||
|
print(f"Aktualna pogoda w mieście: {miasto}")
|
||
|
print(f'Data: {dzien_slownie}, {dzien}-{miesiac}-{rok}')
|
||
|
print(f'Warunki (ang.): {condition.text()}')
|
||
|
|
||
|
fahrenhait = condition.temp()
|
||
|
|
||
|
def temp_conversion(fahrenhait):
|
||
|
celsius = round(((int(fahrenhait) - 32) * 5/9),1)
|
||
|
return (f'Temperatura: {celsius} C')
|
||
|
|
||
|
print(temp_conversion(fahrenhait))
|
||
|
|
||
|
temp_min = []
|
||
|
date_temp_min = []
|
||
|
|
||
|
forecasts = location.forecast()
|
||
|
for forecast in forecasts:
|
||
|
temp_min.append(forecast.low())
|
||
|
date_temp_min.append(forecast.date())
|
||
|
|
||
|
minimum = min(temp_min)
|
||
|
indeks = temp_min.index(minimum)
|
||
|
data_miminum = date_temp_min.pop(indeks)
|
||
|
|
||
|
|
||
|
dzien_przew = data_miminum[0:2]
|
||
|
miesiac_przew = data_miminum[3:6]
|
||
|
rok_przew = data_miminum[7:11]
|
||
|
|
||
|
miesiac_przew = month_to_miesiac_conv(miesiac_przew)
|
||
|
|
||
|
print(f'Przewidywalna minimalna {temp_conversion(minimum)} nastąpi dnia {dzien_przew}-{miesiac_przew}-{rok_przew}')
|
||
|
|
||
|
|