1
0
Fork 0
Python2017/labs03/task4.py

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}')