6 changed files with 135 additions and 0 deletions
@ -0,0 +1,21 @@ |
|||
import requests |
|||
from termcolor import colored |
|||
|
|||
def get_cnj(): |
|||
print("--- Nahodný vtip o Chucku Norrisovi ---") |
|||
url = "https://api.chucknorris.io/jokes/random" |
|||
try: |
|||
#odeslání požadavku na "url" |
|||
response = requests.get(url) |
|||
#čekání na odpovědi od "url" |
|||
response.raise_for_status() |
|||
|
|||
#zpracování dat na JSON |
|||
data = response.json() |
|||
#print(f"RAWDATA:{data}") |
|||
print(colored(f"JOKE:{data["value"]}","yellow")) |
|||
except Exception as e: |
|||
print(f"Chyba:{e}") |
|||
|
|||
if __name__ == "__main__": |
|||
get_cnj() |
|||
@ -0,0 +1,23 @@ |
|||
import requests |
|||
from termcolor import colored |
|||
import time |
|||
|
|||
def get_dad_joke(): |
|||
print ("--- Nahodný dad džouk ---") |
|||
url = "https://icanhazdadjoke.com" |
|||
headers = { |
|||
"Accept":"application/json", |
|||
"User-Agent" : "Python example for programming lessons" |
|||
} |
|||
try: |
|||
response = requests.get(url,headers=headers) |
|||
response.raise_for_status() |
|||
data =response.json() |
|||
print(colored(f"\n{data["joke"]}\n","green")) |
|||
except Exception as e: |
|||
print(f"chyba:{e}") |
|||
|
|||
if __name__ == "__main__": |
|||
for i in range(5): |
|||
get_dad_joke() |
|||
time.sleep(3) |
|||
@ -0,0 +1,23 @@ |
|||
import dadzjokes |
|||
import chucknoris |
|||
import pokemon_api_obrazek |
|||
|
|||
print("Vítej v programu na testování API") |
|||
print("-"*50) |
|||
while True: |
|||
print("\n1) vypiš dad džouk") |
|||
print("2) vypiš chuck noris džouk") |
|||
print("3) vypiš a zobraz náhodného pokémona") |
|||
print("4) ukonči program") |
|||
volba = input("volba 1/2/3/4:") |
|||
|
|||
if(volba == "1"): |
|||
dadzjokes.get_dad_joke() |
|||
elif(volba== "2"): |
|||
chucknoris.get_cnj() |
|||
elif(volba == "3"): |
|||
pokemon_api_obrazek.nahodny_pokemon() |
|||
elif(volba == "4"): |
|||
break |
|||
else: |
|||
print("Špatný výběr") |
|||
@ -0,0 +1,48 @@ |
|||
#pip install matplotlib pillow termcolor requests |
|||
import requests |
|||
import random |
|||
import os |
|||
from io import BytesIO #pro vytvoření "virtualního souboru" v paměti RAM |
|||
import matplotlib.pyplot as plt |
|||
from PIL import Image |
|||
from termcolor import colored |
|||
|
|||
def nahodny_pokemon(): |
|||
print("-- Generator nahodného pokémona (PokeAPI) ---") |
|||
poke_id = random.randint(1,151) |
|||
url = f"https://pokeapi.co/api/v2/pokemon/{poke_id}" |
|||
|
|||
print(f"Hledám data pro pokémona ID: {colored(poke_id,"green")}") |
|||
|
|||
try: |
|||
response = requests.get(url) |
|||
response.raise_for_status() |
|||
data = response.json() |
|||
|
|||
jmeno = data["name"].capitalize() #první písmeno velké na začátku slova |
|||
#obrazek_url = data["sprites"]["front_default"] |
|||
obrazek_url = data["sprites"]["other"]["official-artwork"]["front_default"] |
|||
|
|||
print(f"objevil se {colored(jmeno,"green")}!!!") |
|||
if obrazek_url: |
|||
print(f"stahuji obrazek pro {colored(jmeno,"red")}") |
|||
img_response = requests.get(obrazek_url) #požádáme o data |
|||
img_response.raise_for_status() #čekáme na odpověd |
|||
img_data = BytesIO(img_response.content) #odpověd si uložíme do paměti jako virtualní soubor |
|||
img = Image.open(img_data)#virtualní soubor otevřeme jako obrázek |
|||
|
|||
print(f"zobrazuji obrázek pro {colored(jmeno,"blue")}") |
|||
plt.figure(figsize=(5,5)) |
|||
plt.imshow(img) |
|||
plt.title(jmeno) |
|||
plt.axis("off") #skryje osy |
|||
plt.show() #zde se kod zastavi, dokud uživatel nezavře okno |
|||
print("Okno zavřeno, pokračuji...") |
|||
else: |
|||
print("obrazek není k dispozici") |
|||
except Exception as e: |
|||
print(f"chyba při komunikaci: {e}") |
|||
|
|||
if __name__ == "__main__": |
|||
for i in range(3): |
|||
nahodny_pokemon() |
|||
@ -0,0 +1,3 @@ |
|||
python -m venv .venv |
|||
.venv\Scripts\activate |
|||
(.venv) pip install -r requirements.txt |
|||
@ -0,0 +1,17 @@ |
|||
certifi==2026.1.4 |
|||
charset-normalizer==3.4.4 |
|||
contourpy==1.3.3 |
|||
cycler==0.12.1 |
|||
fonttools==4.61.1 |
|||
idna==3.11 |
|||
kiwisolver==1.4.9 |
|||
matplotlib==3.10.8 |
|||
numpy==2.4.2 |
|||
packaging==26.0 |
|||
pillow==12.1.0 |
|||
pyparsing==3.3.2 |
|||
python-dateutil==2.9.0.post0 |
|||
requests==2.32.5 |
|||
six==1.17.0 |
|||
termcolor==3.3.0 |
|||
urllib3==2.6.3 |
|||
Loading…
Reference in new issue