From 168c5d1c32c201ada87f2f384f072cff4bbf14c8 Mon Sep 17 00:00:00 2001 From: Adam Jurkiewicz Pythonista Local Date: Wed, 17 Dec 2025 16:03:42 +0100 Subject: [PATCH] ciekawe --- dzien_03/przyklady/ciekawy.py | 34 +++++++++++++++++++++++++++++++ dzien_03/przyklady/jk.py | 25 +++++++++++++++++++++++ dzien_03/przyklady/k1.py | 38 +++++++++++++++++++++++++++++++++++ dzien_03/skrypt_03.py | 8 ++++---- 4 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 dzien_03/przyklady/ciekawy.py create mode 100644 dzien_03/przyklady/jk.py create mode 100644 dzien_03/przyklady/k1.py diff --git a/dzien_03/przyklady/ciekawy.py b/dzien_03/przyklady/ciekawy.py new file mode 100644 index 0000000..2f3f6d7 --- /dev/null +++ b/dzien_03/przyklady/ciekawy.py @@ -0,0 +1,34 @@ +def oblicz_vat_brutto(netto, stawka_vat=5): + # if type(netto) is not int or type(netto) is not float: + + if not isinstance(netto, (int, float)): + print(f"Wprowadziłeś błędnie {netto} - oczekiwano liczby") + return None + + if netto <= 0: + print(f"Uwaga netto={netto} <= 0 - zwracam (False, False)") + return (False, False) + + dozwolone = {0, 5, 8, 23} + if stawka_vat not in dozwolone: + print(f"Stawka {stawka_vat}% nie jest dozwolona - ustawiono 23%") + stawka_vat = 23 + else: + print("Stawka VAT poprawna") + + vat = netto * (stawka_vat / 100.00) + brutto = netto + vat + vat = round(vat, 2) + brutto = round(brutto, 2) + + print(f"Wynik: VAT ({stawka_vat}%): {vat:.2f} | BRUTTO: {brutto:.2f}") + return (vat, brutto) + + +# TESTY +print("Testy funkcji") +print(oblicz_vat_brutto(100, 5)) +print(oblicz_vat_brutto(133, 8)) +print(oblicz_vat_brutto(66, 12)) +print(oblicz_vat_brutto("kot", 5)) +print(oblicz_vat_brutto(0, 5)) diff --git a/dzien_03/przyklady/jk.py b/dzien_03/przyklady/jk.py new file mode 100644 index 0000000..81ab566 --- /dev/null +++ b/dzien_03/przyklady/jk.py @@ -0,0 +1,25 @@ + + +def oblicz_brutto(): + vaty = [0, 5, 8, 12, 23] + vat23 = vaty[-1] # ostatni + netto = float(input("Podaj wartość produktu: ")) + vat_input = float(input("Podaj stawkę vat (ENTER = default 5%):") or 5) + + if netto <= 0: + print("Niestety, wartość netto jest zbyt niska (min. 1zł)!") + return None + + if vat_input in vaty: + brutto = netto * (1 + vat_input / 100) + # 5.6665434534 + print(f"Wartość vat jest poprawna. Kwota brutto: {brutto:.2f} zł") + + else: + print(f"Błąd: Stawka vat {vat_input}% nie jest obsługiwana. Zastosowano 23% vat.") + brutto = netto * (1 + vat23 / 100) + print(f"Kwota brutto: {brutto:.2f} zł") + return (netto, vat_input) + + +oblicz_brutto() \ No newline at end of file diff --git a/dzien_03/przyklady/k1.py b/dzien_03/przyklady/k1.py new file mode 100644 index 0000000..215a0a9 --- /dev/null +++ b/dzien_03/przyklady/k1.py @@ -0,0 +1,38 @@ +def czytaj_netto( + wartosc: str, +): + tmp_value = None + ret_value = None + value_ok = False + while not value_ok: + tmp_value = input(f"{wartosc} - pamiętaj o wartości podatku: ") + try: + ret_value = float(tmp_value) + if ret_value <= 0: + print( + f"Wartość {ret_value} jest nieprawidłowa (musi być większa od 0). Spróbuj ponownie " + ) + else: + value_ok = True + print("Poprawna kwota netto") + except: + print(f"Błąd {tmp_value} to nie jest liczba. Spróbuj ponownie...") + + return ret_value + + +def czytaj_vat(wartosc: str): + progi = (0, 5, 8, 23) + tmp_value = input(f"{wartosc} {progi}") + try: + ret_value = int(float(tmp_value)) + if ret_value not in progi: + progi(f"Stawka {ret_value}% jest nieprawidłowa. Ustawiam 23%.") + ret_value = 23 + else: + print(f"Stawka {ret_value} przyjęta") + except: + print(f"Błędne dane: {tmp_value}. Ustawiam 23%") + ret_value = 23 + + return ret_value diff --git a/dzien_03/skrypt_03.py b/dzien_03/skrypt_03.py index a3ff343..083a991 100644 --- a/dzien_03/skrypt_03.py +++ b/dzien_03/skrypt_03.py @@ -39,13 +39,13 @@ pre_p = czytaj_dana_float() print(f"{wys_p=} {pre_p=}") fgsdfgsdfgsdfgsdfgdsfgfd # zadanie: -zdefiniuj funkcję, która pobiera wartość netto, stawkę vat (domyślnie 5), +zdefiniuj funkcję, która pobiera wartość netto, stawkę vat (domyślnie 5), + -jeśli netto to nie float lub int, zwróć None +jeśli netto to nie float lub int, zwróć None + -sprawdza, czy podana stawka mieści się w (0,5,8,23), jeśli nie, to 23 ma być +sprawdza, czy podana stawka mieści się w (0,5,8,23), jeśli nie, to 23 ma być + -jeśli netto <=0, to zwróć False, False +jeśli netto <=0, to zwróć False, False +