-
Notifications
You must be signed in to change notification settings - Fork 83
API's atsakymai
DonatasNoreika edited this page Oct 30, 2024
·
5 revisions
import requests
url = 'https://api.frankfurter.app/'
def get_rate(base, to):
payload = {
"from": base,
"to": to,
}
r = requests.get(f"{url}/latest", params=payload)
result_dict = r.json()
try:
print(f"{base}-{to}:\t{result_dict['rates'][to]}")
except:
r = requests.get(f'{url}/currencies')
currencies_dict = r.json()
print(f"Wrong currency. Currencies: {", ".join(currencies_dict.keys())}")
get_rate('EUR', 'GBP')
get_rate('ZZZ', 'GBP')
import requests
url = 'https://api.frankfurter.app/'
def get_currency_list():
r = requests.get(f'{url}currencies')
dictionary = r.json()
currency_list = []
for key in dictionary.keys():
currency_list.append(key)
return currency_list
def get_rate(base, to):
if base in get_currency_list() and to in get_currency_list():
payload = {'from': base, 'to': to}
r = requests.get(f'{url}latest', params=payload)
dictionary = r.json()
print(f'{dictionary["base"]}-{to}:\t{dictionary["rates"][to]}')
else:
print(f'''
Neteisingai suvestos valiutos. Galimų variantų sąrašas:
{get_currency_list()}
''')
get_rate('ZZZ', 'GBP')
import requests
url = 'https://api.frankfurter.app/'
def dict_converter(dict_to_convert, to):
original = dict_to_convert["rates"]
converted = {original[date][to]: date for date in original}
return converted
def get_rate(base, to, start_date, end_date):
payload = {
"from": base,
"to": to,
}
r = requests.get(f"{url}/{start_date}..{end_date}", params=payload)
result_dict = r.json()
try:
converted = dict_converter(result_dict, to)
max_rate = max(converted)
min_rate = min(converted)
print(f'''
Valiutų poroje {base}-{to}, periode nuo {start_date} iki {end_date}:
Žemiausias kursas buvo {converted[min_rate]} - {min_rate}
Aukščiausias kursas buvo {converted[max_rate]} - {max_rate}
''')
except:
r = requests.get(f'{url}/currencies')
currencies_dict = r.json()
print(f"Wrong currency. Currencies: {", ".join(currencies_dict.keys())}")
get_rate('EUR', 'GBP', "2024-01-01", "2024-02-01")
get_rate('ZZZ', 'GBP', "2024-01-01", "2024-02-01")
import requests
import json
url = 'https://api.frankfurter.app/'
def get_key(val, dct):
"""Little key by value extractor"""
for k, v in dct.items():
if val == v:
return k
def currency_pair_analysis(base, to, start_date, end_date):
payload = {'from': base, 'to': to} # susikuriame parametrų žodyną
r = requests.get(f'{url}{start_date}..{end_date}', params=payload) # susikuriame užklausą pagal API dokumentaciją
result = json.loads(r.text) # Atsakymą paverčiame Python žodynu
new_dict = {} # Susikuriame tuščią žodyną
for k, v in result['rates'].items(): # Užpildome jį reikšmėmis 'data': 'kursas'
new_dict[k] = v[to]
values_list = list(new_dict.values()) # Susikuriame kursų sąrašą
min_value = min(values_list) # Ištraukiame žemiausią reikšmę
max_value = max(values_list) # Ištraukiame aukščiausią reikšmę
min_date = get_key(min_value, new_dict) # Panaudojame pagalbinę funkciją rakto pagal reikšmę paieškai (gauname datą)
max_date = get_key(max_value, new_dict) # Gauname kitą datą
''' Formuojame Atsakymą:'''
print(f'''
Valiutų poroje {base}-{to}, periode nuo {start_date} iki {end_date}:
Žemiausias kursas buvo {min_date} - {min_value}
Aukščiausias kursas buvo {max_date} - {max_value}
''')
currency_pair_analysis('EUR', 'USD', '2015-01-01', '2015-01-10')
# Valiutų poroje EUR-GBP, periode nuo 2019-01-01 iki 2019-12-31:
# Žemiausias kursas buvo 2019-12-09 - 0.84116
# Aukščiausias kursas buvo 2019-08-12 - 0.92203
© Donatas Noreika ir Jotautas Treigys
Dekoratoriai
Iteratoriai ir generatoriai
RegEx
Pillow
NumPy
Pandas
- Pandas I
- Užduotys I
- Atsakymai I
- Pandas II
- Užduotys II
- Atsakymai II
- Pandas III
- Užduotys III
- Atsakymai III
Seaborn
Mašininis mokymasis
- 1 Tiesinės regresijos modelis
- 1 Užduotis
- 1 Atsakymas
- 2 Modeliai - klasifikatoriai
- 2 Užduotis
- 2 Atsakymas
- 3 Modeliai praktikoje
- 3 Užduotis (atnaujinta), atsakymas
- 3 Užduotis
- 3 Atsakymas (kodas su komentarais)
Requests, JSON, API
Web Scraping (Beautiful Soup)
Duomenų bazės
- SQL 1
- Užduotys
- Atsakymai
- SQL 2
- Užduotys
- Atsakymai
- SQL 3
- Užduotys
- Atsakymai
- SQL 4
- Užduotis
- SQL per Python
- Užduotis
- ORM 1
- Užduotys
- ORM 2
- Užduotis
- Atsakymas
Flask
- Įžanga
- Užduotys
- I dalis
- Užduotis
- I dalies kodas (atsakymas)
- II dalis
- Užduotis
- Atsakymas (kodas)
- III dalis
- Užduotis
- Atsakymas
- IV dalis
- Užduotis
- Atsakymas
- Flask Many2one, CRUD
- Flask One2many, many2many CRUD
- Flask: REST API kūrimas
- Flask: API su One2many (kodas)
- Flask: vartotojai
- Flask: nuotraukos pridėjimas, admin puslapis, puslapiavimas
- Flask: password reset, error pages
- Flask: projekto sutvarkymas
- Flask diegimas į serverį
Django
- 1. Įžanga, Modeliai
- 2. Administratoriaus svetainė
- 3. Šablonai
- 4. Views
- 5. Puslapiavimas, Paieška, Nuotraukos
- 6. Autorizacija
- 7. Vartotojai II, HTML laukai
- 8. Registracija, Formos
- 9. Vartotojo profilis
- 10. Create, Update, Delete rodinių klasės
- 11. Vertimai
- Užduotis: Autoservisas
- Biblioteka: kodas iki 6-tos dalies
- Biblioteka: kodas nuo 6-tos dalies
- Django diegimas į serverį
- Django diegimas į serverį 2
Django REST
Odoo
- Kurso programa: projektų valdymas
- 1 pamoka
- 2 pamoka
- 3 pamoka
- 4 pamoka
- 5 pamoka
- 6 pamoka
- 7 pamoka
- 8 pamoka
- 9 pamoka
Linux