From 05dc421177f5608ad8979534e32d21f96023b662 Mon Sep 17 00:00:00 2001 From: Rurek404 <116431010+Rurek404@users.noreply.github.com> Date: Tue, 28 Feb 2023 17:52:07 +0100 Subject: [PATCH 1/2] Adding homework --- cantor_homework.py | 226 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 cantor_homework.py diff --git a/cantor_homework.py b/cantor_homework.py new file mode 100644 index 0000000..425862d --- /dev/null +++ b/cantor_homework.py @@ -0,0 +1,226 @@ +from IPython.display import display +import requests +import json +import ipywidgets as widgets + +def utworzTabliceDostepnychWalut(): + + listaWalut = [] + + r = requests.get('http://api.nbp.pl/api/exchangerates/tables/a/?format=json') + + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(33): + listaWalut.append ( json_obj[0]["rates"][i]['code']) + + r = requests.get('http://api.nbp.pl/api/exchangerates/tables/b/?format=json') + + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(116): + listaWalut.append(json_obj[0]["rates"][i]['code']) + + + r = requests.get('http://api.nbp.pl/api/exchangerates/tables/c/?format=json') + + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(13): + powtorzenie = False + kod1 = json_obj[0]["rates"][i]["code"] + for j in range(149): + kod2 = listaWalut[j] + if(kod1 == kod2): + powtorzenie = True + if(powtorzenie == False): + listaWalut.append(json_obj[0]["rates"][i]['code']) + + listaWalut.sort() + + return listaWalut + +def sprzedajWalute(waluta, kwota): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/a/?format=json") + + json_var = r.content + json_obj = json.loads(json_var) + + znalezionoWalute = 0; + + for i in range(33): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "a" + break + + + if(znalezionoWalute == 0): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/b/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(116): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "b" + break + + if(znalezionoWalute == 0): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/c/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(13): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "c" + break + + + + if(znalezionoWalute == 1): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/c/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(13): + if(waluta == json_obj[0]["rates"][i]["code"]): + kurs = json_obj[0]["rates"][i]["bid"] + cena = kwota * kurs + return ( round(cena, 2) ) + + r = requests.get(f"http://api.nbp.pl/api/exchangerates/rates/{tabela}/{waluta}/") + json_var = r.content + json_obj = json.loads(json_var) + kurs = json_obj["rates"][0]["mid"] + cena = kwota * kurs + return ( round(cena, 2) ) + + else: + return ("Brak podanej waluty") + + +def kupWalute(waluta, kwota): + + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/a/?format=json") + + json_var = r.content + json_obj = json.loads(json_var) + + znalezionoWalute = 0; + + for i in range(33): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "a" + break + + + if(znalezionoWalute == 0): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/b/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(116): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "b" + break + + if(znalezionoWalute == 0): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/c/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(13): + if(waluta == json_obj[0]["rates"][i]["code"]): + znalezionoWalute = 1 + tabela = "c" + break + + if(znalezionoWalute == 1): + r = requests.get("http://api.nbp.pl/api/exchangerates/tables/c/?format=json") + json_var = r.content + json_obj = json.loads(json_var) + + for i in range(13): + if(waluta == json_obj[0]["rates"][i]["code"]): + kurs = json_obj[0]["rates"][i]["ask"] + cena = kwota * kurs + return ( round(cena, 2) ) + + r = requests.get(f"http://api.nbp.pl/api/exchangerates/rates/{tabela}/{waluta}/") + json_var = r.content + json_obj = json.loads(json_var) + kurs = json_obj["rates"][0]["mid"] + cena = kwota * kurs + return ( round(cena, 2) ) + + else: + return ("Brak podanej waluty") + + +output = widgets.Output() + +zakupy = widgets.RadioButtons( + options=['Zakup waluty', 'Sprzedaż waluty'], +# value='pineapple', # Defaults to 'pineapple' +# layout={'width': 'max-content'}, # If the items' names are long + description='Zakup czy sprzedaż:', + disabled=False +) + +waluty = widgets.Dropdown( + options= utworzTabliceDostepnychWalut(), + description= "Wybierz", + disabled=False, +) + +kwota = widgets.FloatText( + value=7.5, + description='Kwota:', + disabled=False +) + + +oblicz = widgets.Button( + description='Oblicz', + disabled=False, + button_style='', # 'success', 'info', 'warning', 'danger' or '' + tooltip='Click me', + icon='check' # (FontAwesome names without the `fa-` prefix) +) + + +def wykonaj_na_klik(b): + waluta = waluty.value + cena = kwota.value + wybranie = zakupy.value + + cena = round(cena, 2) + + if(wybranie == 'Zakup waluty'): + with output: + print (kupWalute(waluta, cena)) + else: + with output: + print (sprzedajWalute(waluta, cena)) + + +def wyczysc(b): + output.clear_output() + + +display(zakupy, waluty, kwota, oblicz, output) + +oblicz.on_click(wyczysc) + +oblicz.on_click(wykonaj_na_klik) + + + + From fd6fa5e8f6ddd2d88a875dce57746ff5a5dbff8e Mon Sep 17 00:00:00 2001 From: Rurek404 <116431010+Rurek404@users.noreply.github.com> Date: Tue, 28 Feb 2023 17:56:02 +0100 Subject: [PATCH 2/2] Adding a jan_homework folder --- cantor_homework.py => jan_homework/cantor_homework.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename cantor_homework.py => jan_homework/cantor_homework.py (100%) diff --git a/cantor_homework.py b/jan_homework/cantor_homework.py similarity index 100% rename from cantor_homework.py rename to jan_homework/cantor_homework.py