Advertisement
PrezesSmoku

Pogoda podstawa

Jun 10th, 2023
666
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.62 KB | None | 0 0
  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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement