SHOW:
|
|
- or go back to the newest paste.
| 1 | import requests | |
| 2 | import pygame | |
| 3 | ||
| 4 | link = "https://danepubliczne.imgw.pl/api/data/synop/" | |
| 5 | ||
| 6 | baza = requests.get(link) | |
| 7 | lista_stacji = baza.json() | |
| 8 | #print(lista_stacji) | |
| 9 | i =1 | |
| 10 | for stacja in lista_stacji: | |
| 11 | print(f"{i}. {stacja['stacja']}")
| |
| 12 | i+=1 | |
| 13 | ||
| 14 | numer_stacji = int(input("Wprowadź numer wybranej stacji meteo: "))
| |
| 15 | wybrana_stacja = lista_stacji[numer_stacji-1] | |
| 16 | #print(wybrana_stacja) | |
| 17 | ||
| 18 | stacja = wybrana_stacja['stacja'] | |
| 19 | godzina = wybrana_stacja['godzina_pomiaru'] #liczba całkowita | |
| 20 | temperatura = wybrana_stacja['temperatura'] #st. Celsjusza | |
| 21 | cisnienie = wybrana_stacja['cisnienie'] #hPa | |
| 22 | predkosc_wiatru = wybrana_stacja['predkosc_wiatru'] #m/s | |
| 23 | kierunek_wiatru = wybrana_stacja['kierunek_wiatru'] #w stopniach kątowych ("skąd wieje")
| |
| 24 | #suma_opadu = wybrana_stacja['suma_opadu'] #mm na metr kwadratowy | |
| 25 | suma_opadu = 12 | |
| 26 | tekst_stacji = f"Pogoda z godziny {godzina} ze stacji meteo w {stacja}"
| |
| 27 | tekst_cisnienia = f"Ciśnienie na poziomie {cisnienie} hPa"
| |
| 28 | tekst_temeratury = f"Temperatura wynosi {temperatura} °C"
| |
| 29 | tekst_wiatru = f"Wiatr wieje z prędkością {predkosc_wiatru} m/s z kierunku {kierunek_wiatru}"
| |
| 30 | tekst_opady = f"Suma opadów wynosi {suma_opadu} mm"
| |
| 31 | ||
| 32 | ||
| 33 | ||
| 34 | #szerokość i wysokość ekranu | |
| 35 | SZEROKOSC_EKRANU = 1280 | |
| 36 | WYSOKOSC_EKRANU = 900 | |
| 37 | ||
| 38 | pygame.init() | |
| 39 | pygame.font.init() | |
| 40 | ||
| 41 | #obiekty ekranu, zegara i tła | |
| 42 | ekran = pygame.display.set_mode([SZEROKOSC_EKRANU, WYSOKOSC_EKRANU]) | |
| 43 | zegar = pygame.time.Clock() | |
| 44 | obraz_tla = pygame.image.load('images/background.png')
| |
| 45 | czcionka = pygame.font.SysFont('Comic Sans MS', 35) #nazwa i rozmiar czcionki
| |
| 46 | ||
| 47 | ||
| 48 | ||
| 49 | #główna pętla | |
| 50 | program_dziala = True | |
| 51 | while program_dziala: | |
| 52 | for zdarzenie in pygame.event.get(): | |
| 53 | if zdarzenie.type == pygame.KEYDOWN: | |
| 54 | if zdarzenie.key == pygame.K_ESCAPE: | |
| 55 | program_dziala = False | |
| 56 | elif zdarzenie.type == pygame.QUIT: | |
| 57 | program_dziala = False | |
| 58 | ||
| 59 | #wyświetl tło | |
| 60 | ekran.blit(obraz_tla, (0,0)) | |
| 61 | ||
| 62 | stacja_tekst_pygame = czcionka.render(tekst_stacji, True,(0,0,0)) | |
| 63 | ekran.blit(stacja_tekst_pygame, (16,16)) | |
| 64 | cisnienie_tekst_pygame = czcionka.render(tekst_cisnienia, True, (0, 0, 0)) | |
| 65 | ekran.blit(cisnienie_tekst_pygame, (16,70)) | |
| 66 | ||
| 67 | temperatura_tekst_pygame = czcionka.render(tekst_temeratury, True, (0,0,0)) | |
| 68 | ekran.blit(temperatura_tekst_pygame, (16,120)) | |
| 69 | opady_tekst_pygame = czcionka.render(tekst_opady, True, (0, 0, 0)) | |
| 70 | ekran.blit(opady_tekst_pygame, (16,170)) | |
| 71 | wiatr_tekst_pygame = czcionka.render(tekst_wiatru, True, (0, 0, 0)) | |
| 72 | ekran.blit(wiatr_tekst_pygame, (16,220)) | |
| 73 | ||
| 74 | pygame.display.flip() | |
| 75 | zegar.tick(30) #liczba klatek na sekunde | |
| 76 | pygame.quit() |