1
0
Fork 0
Python2017/labs03/task04.py

70 lines
2.3 KiB
Python

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import weather,datetime
def FahrenheitToCelsius(fahrenheit):
return (fahrenheit - 32) / 1.8
#return round((fahrenheit - 32) / 1.8, 1)
def dzien_tygodnia(data):
dni_tygodnia = ["poniedziałek",
"wtorek",
"środa",
"czwartek",
"piatek",
"sobotę",
"niedzielę"]
return dni_tygodnia[data.weekday()]
def miesiaca(data):
miesiace = ["stycznia",
"lutego",
"marca",
"kwietnia",
"maja",
"czerwca",
"lipca",
"śierpnia",
"września",
"października",
"listopada",
"grudnia"]
return miesiace[data.month-1]
pogoda = weather.Weather()
# Yahoo! WOEID dla miasta Poznań 514048
#miejsce = pogoda.lookup(514048)
#stan = miejsce.condition()
#print(stan.text())
# Lookup poprzez podanie nazwy miasta
miejsce = pogoda.lookup_by_location('Poznań')
stan = miejsce.condition()
#print(stan.text())
# prognozy na nadchodzące dni
prognozy = miejsce.forecast()
#print(prognozy)
# wybieram dzień z prognozy pogody w którym bedzie najzimniej
najzimniejszy = min(prognozy, key = lambda prognozy : prognozy.low())
# konwerstuję string na format czasu
datetime_object = datetime.datetime.strptime(najzimniejszy.date(), '%d %b %Y')
#print(datetime_object.get_weekday())
#print(FahrenheitToCelsius(float(najzimniejszy.high())))
#print(FahrenheitToCelsius(float(najzimniejszy.low())))
# korzystając z prognozy, wypisuję dzień, w którym będzie najzimniej.
#
#print 'W {}'.format(dzien_tygodnia(datetime_object))+ ' ' + str(datetime_object.day) + ' ' + miesiaca(datetime_object) + ' ' + str(datetime_object.year) + ' będzie najchłodniej, najniższa możliwa temperatura może wynieść {}'.format(round(FahrenheitToCelsius(float(najzimniejszy.low())),1)) + ' °C'
wydruk = 'W {dt} {d} {m} {r} będzie najchłodniej, najniższa możliwa temperatura może wynieść {t:.1f} °C'
print wydruk.format(dt=dzien_tygodnia(datetime_object),d=str(datetime_object.day), m=miesiaca(datetime_object), r=str(datetime_object.year), t=FahrenheitToCelsius(float(najzimniejszy.low())))