71 lines
2.6 KiB
Python
71 lines
2.6 KiB
Python
with open('taviratok.txt',encoding='utf-8') as tfajl:
|
|
taviratok = [ sor.strip().split(' ') for sor in tfajl.readlines()]
|
|
|
|
print(taviratok)
|
|
|
|
print('2. feladat:')
|
|
vkod = input("Adja meg egy település kódját: ")
|
|
|
|
#átszámító függvény készítése csomóból m/s-ba
|
|
def csomobolSzamit(csomo):
|
|
sebms = csomo * 0.514
|
|
return sebms
|
|
|
|
#az irányt visszaadó függvény a fok szövegéből
|
|
def iranySzoveg(fok):
|
|
if fok == 'VRB':
|
|
return 'változó'
|
|
fokszam = int(fok)
|
|
if fokszam>315 or fokszam<=45:
|
|
return 'észak'
|
|
elif fokszam>45 and fokszam<=135:
|
|
return 'kelet'
|
|
elif fokszam>135 and fokszam<=225:
|
|
return 'dél'
|
|
else:
|
|
return 'nyugat'
|
|
|
|
visszataviratok = list(reversed(taviratok))
|
|
for meres in visszataviratok:
|
|
if meres[0] == vkod:
|
|
ir = iranySzoveg(meres[2][0:3])
|
|
mpers = csomobolSzamit(int(meres[2][3:]))
|
|
print('Az utolsó mérés:',meres[0],meres[1],ir,mpers,meres[3])
|
|
break
|
|
|
|
#3. feladat
|
|
#függvény a celsius-ból fahrenheit-be számításhoz
|
|
def celsiusToFahrenheit(cfok):
|
|
return cfok * 1.8 + 32
|
|
|
|
mereskicsi = taviratok[0]
|
|
meresnagy = taviratok[0]
|
|
for meres in taviratok:
|
|
if int(meres[3]) > int(meresnagy[3]):
|
|
meresnagy = meres
|
|
if int(meres[3]) < int(mereskicsi[3]):
|
|
mereskicsi = meres
|
|
|
|
kicsif = celsiusToFahrenheit(int(mereskicsi[3]))
|
|
nagyf = celsiusToFahrenheit(int(meresnagy[3]))
|
|
print('A minimum érték {0} helyen {1}-kor: {2} C és {3} F'.format(mereskicsi[0],
|
|
mereskicsi[1],
|
|
mereskicsi[3],
|
|
kicsif))
|
|
print('A maximum érték {0} helyen {1}-kor: {2} C és {3} F'.format(meresnagy[0],
|
|
meresnagy[1],
|
|
meresnagy[3],
|
|
nagyf))
|
|
|
|
#a középhőmérséklet a bekért településen
|
|
vkodhomlista = [ int(m[3]) for m in taviratok if m[0]==vkod]
|
|
atlagc = sum(vkodhomlista)/len(vkodhomlista)
|
|
atlagf = celsiusToFahrenheit(atlagc)
|
|
print('A középhőmérséklet {0} helyen: {1:.2f} C és {2:.2f} F'.format(vkod,atlagc,atlagf))
|
|
|
|
with open('atszamitva.txt','w',encoding='utf-8') as kimenetifajl:
|
|
for meres in taviratok:
|
|
ir = iranySzoveg(meres[2][0:3])
|
|
mpers = csomobolSzamit(int(meres[2][3:]))
|
|
hf = celsiusToFahrenheit(int(meres[3]))
|
|
kimenetifajl.write('{0} {1} {2} {3} {4} {5}\n'.format(meres[0],meres[1],ir,mpers,meres[3],hf)) |