-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexchange.py
47 lines (37 loc) · 1.49 KB
/
exchange.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import httpx
def get_exchange_rate():
url = "https://www.cnb.cz/cs/financni-trhy/devizovy-trh/kurzy-devizoveho-trhu/kurzy-devizoveho-trhu/denni_kurz.txt"
response = httpx.get(url)
lines = response.text.split("\n")
for line in lines:
if "|EUR|" in line:
return float(line.split("|")[-1].replace(",", "."))
raise ValueError("Nepodařilo se načíst kurz EUR.")
def convert_currency(amount, rate, mode):
if mode == "CZ":
return amount / rate
elif mode == "EUR":
return amount * rate
else:
raise ValueError("Neplatný režim převodu.")
def main():
try:
rate = get_exchange_rate()
print(f"Aktuální kurz EUR/CZK: {rate}")
while True:
mode = input("Zadej režim převodu (CZ pro CZK->EUR, EUR pro EUR->CZK, Q pro konec): ").strip().upper()
if mode == "Q":
break
if mode not in ["CZ", "EUR"]:
print("Neplatný režim. Zadej CZ nebo EUR.")
continue
try:
amount = float(input("Zadej částku: ").replace(",", "."))
converted = convert_currency(amount, rate, mode)
print(f"Převedená částka: {converted:.2f} {'EUR' if mode == 'CZ' else 'CZK'}")
except ValueError:
print("Neplatná částka. Zkus to znovu.")
except Exception as e:
print(f"Chyba: {e}")
if __name__ == "__main__":
main()