Last active
June 9, 2025 06:56
-
-
Save MajliTech/7b18e38ab084f87ac7a0c5bad7609b1e to your computer and use it in GitHub Desktop.
Kartkówka z szalonym Zbysiem
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from decimal import Decimal # Opcjonalnie, usuwa błędy niedokładności komputerowej jezeli uzyte | |
from math import sqrt # Importujemy funkcje na pierwiastek (kwadratowy!) | |
print("Program oblicza obwód, pole i przekątną kwadratu") | |
a = input("Wpisz bok: ") # Na koniec spacja aby było ładniej | |
# Sprawdzqmy poprawność wprowadzonych danych: | |
try: | |
# 1. Czy to jest liczba: | |
a = Decimal(a) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczbę rzeczywistą (większą od zera) | |
if not a>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
except: | |
# Co tutaj możemy zrobić? | |
# 1. Zamknąć program: | |
""" | |
print("Nie jestem w stanie pracować na podanych danych!") | |
raise SystemExit | |
""" | |
# 2. Kazać użytkownikowi pisać liczby do skutku: | |
while True: | |
print("Nie jestem w stanie pracować na podanych danych! Prosze je podać ponownie.") | |
a = input("Wpisz bok: ") # Na koniec spacja aby było ładniej | |
# Sprawdzamy poprawność wprowadzonych danych: | |
try: | |
# Sprawdzqmy poprawność wprowadzonych danych: | |
# 1. Czy to jest liczba: | |
a = Decimal(a) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczbę rzeczywistą (większą od zera) | |
if not a>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
break # Musimy w jakiś sposób przerwać pętle, robimy to tutaj gdyż wszystkie dane udało nam się zweryfikować. | |
except: | |
continue | |
# Spokojnie, wdech/wydech, obliczanie będzie prostsze: | |
# Obwód | |
obw = a*4 # Dwa boki a + dwa boki b, mamy obwód | |
# Pole (wzór a²) | |
pole = a**2 | |
# Przekątna (bok*√2): | |
przekątna = a*Decimal(sqrt(2)) # Jeżeli koryzstamy z decimal, to również musimy wstawić pierwiastek w to Decimal(); | |
# sqrt z wcześniej zaimportowanej biblioteki (linijka: from math import sqrt, dlatego możemy tego używać) | |
# Powiedzmy użytkownikowi, co nam wyszło po obliczeniach: | |
### | |
### BARDZIEJ ZAAWANSOWANY TEKST | |
### | |
# Bardziej zaawansowany tekst pozwala nam dokładnie umieszczać zmienne programu w tekście. | |
# Robimy go, stawiając przed cudzysłowem `f` a zmienne wpisujemty w tekst w {nazwa_zmienne} np.: | |
print(f"Na podstawie danych można wyliczyć: Obwód: {obw}; Pole: {pole}; Przekątna: {przekątna}") | |
# Oczywiście NIC nie stoi na przeszkodzie używać print z przecinkami: | |
# print("Na podstawie danych można wyliczyć: Obwód:", obw, "; Pole:", pole, "; Przekątna:",przekątna) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from decimal import Decimal # Opcjonalnie, usuwa błędy niedokładności komputerowej jezeli uzyte | |
from math import sqrt # Importujemy funkcje na pierwiastek (kwadratowy!) | |
print("Program oblicza obwód, pole i przekątną prostokąta") | |
a = input("Wpisz bok A: ") # Na koniec spacja aby było ładniej | |
b = input("Wpisz bok B: ") # Na koniec spacja aby było ładniej | |
# Sprawdzqmy poprawność wprowadzonych danych: | |
try: | |
# 1. Czy to są liczby: | |
a = Decimal(a) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
b = Decimal(b) # Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): b = int(b) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan() or b.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczby rzeczywiste (większą od zera) | |
if not a>0 or not b>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
except: | |
# Co tutaj możemy zrobić? | |
# 1. Zamknąć program: | |
""" | |
print("Nie jestem w stanie pracować na podanych danych!") | |
raise SystemExit | |
""" | |
# 2. Kazać użytkownikowi pisać liczby do skutku: | |
while True: | |
print("Nie jestem w stanie pracować na podanych danych! Prosze je podać ponownie.") | |
a = input("Wpisz bok A: ") # Na koniec spacja aby było ładniej | |
b = input("Wpisz bok B: ") # Na koniec spacja aby było ładniej | |
# Sprawdzamy poprawność wprowadzonych danych: | |
try: | |
# 1. Czy to są liczby: | |
a = Decimal(a) # Każemy programowi rozumieć wpis użytkownika jako liczbę/Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
b = Decimal(b) # Każemy programowi rozumieć wpis użytkownika jako liczbę/Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): b = int(b) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan() or b.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczby rzeczywiste (większą od zera) | |
if not a>0 or not b>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
break # Musimy w jakiś sposób przerwać pętle, robimy to tutaj gdyż wszystkie dane udało nam się zweryfikować. | |
except: | |
continue | |
# Spokojnie, wdech/wydech, obliczanie będzie prostsze: | |
# Obwód | |
obw = a*2+b*2 # Dwa boki a + dwa boki b, mamy obwód | |
# Pole (wzór a*b) | |
pole = a*b | |
# Przekątna (pitagoras, ale √(a²+b²) jest naszym wzorem): | |
przekątna = sqrt(a**2+b**2) # sqrt z wcześniej zaimportowanej biblioteki (linijka: from math import sqrt, dlatego możemy tego używać) | |
# Powiedzmy użytkownikowi, co nam wyszło po obliczeniach: | |
### | |
### BARDZIEJ ZAAWANSOWANY TEKST | |
### | |
# Bardziej zaawansowany tekst pozwala nam dokładnie umieszczać zmienne programu w tekście. | |
# Robimy go, stawiając przed cudzysłowem `f` a zmienne wpisujemty w tekst w {nazwa_zmienne} np.: | |
print(f"Na podstawie danych można wyliczyć: Obwód: {obw}; Pole: {pole}; Przekątna: {przekątna}") | |
# Oczywiście NIC nie stoi na przeszkodzie używać print z przecinkami: | |
# print("Na podstawie danych można wyliczyć: Obwód:", obw, "; Pole:", pole, "; Przekątna:",przekątna) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from decimal import Decimal # Opcjonalnie, usuwa błędy niedokładności komputerowej jezeli uzyte | |
from math import sqrt # Importujemy funkcje na pierwiastek (kwadratowy!) | |
print("Program oblicza obwód i pole trójkąta") | |
a = input("Wpisz bok A: ") # Na koniec spacja aby było ładniej | |
b = input("Wpisz bok B: ") # Na koniec spacja aby było ładniej | |
c = input("Wpisz bok C: ") # Na koniec spacja aby było ładniej\ | |
h = input("Wpisz wysokośc opuszczoną na bok A: ") # Na koniec spacja aby było ładniej | |
# Sprawdzqmy poprawność wprowadzonych danych: | |
try: | |
# 1. Czy to są liczby: | |
a = Decimal(a) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
b = Decimal(b) # Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): b = int(b) | |
c = Decimal(c) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): c = int(c) | |
h = Decimal(h) # Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): h = int(h) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan() or b.is_nan() or c.is_nan() or h.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczby rzeczywiste (większą od zera) | |
if not a>0 or not b>0 or not c>0 or not h>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
except: | |
# Co tutaj możemy zrobić? | |
# 1. Zamknąć program: | |
""" | |
print("Nie jestem w stanie pracować na podanych danych!") | |
raise SystemExit | |
""" | |
# 2. Kazać użytkownikowi pisać liczby do skutku: | |
while True: | |
print("Nie jestem w stanie pracować na podanych danych! Prosze je podać ponownie.") | |
a = input("Wpisz bok A: ") # Na koniec spacja aby było ładniej | |
b = input("Wpisz bok B: ") # Na koniec spacja aby było ładniej | |
c = input("Wpisz bok C: ") # Na koniec spacja aby było ładniej\ | |
h = input("Wpisz wysokośc opuszczoną na bok A: ") # Na koniec spacja aby było ładniej | |
# Sprawdzqmy poprawność wprowadzonych danych: | |
try: | |
# 1. Czy to są liczby: | |
a = Decimal(a) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): a = int(a) | |
b = Decimal(b) # Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): b = int(b) | |
c = Decimal(c) # Opcjonanie, prościej (z błędem .004): a = float(a); bez przecinka (liczby całkowite): c = int(c) | |
h = Decimal(h) # Opcjonanie, prościej (z błędem .004): b = float(b); bez przecinka (liczby całkowite): h = int(h) | |
# UWAGA!!! W przypadku, gdy korzystamy z metody Decimal(), należy jescze dopisać następujący kod: | |
if a.is_nan() or b.is_nan() or c.is_nan() or d.is_nan(): | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# W przypadku korzystania z float lub int nie musimy (a wręcz nie możemy, skutkuje to błędem) dodawać wyżej wymienionego if'a. | |
# 2. Sprawdzić, czy podano liczby rzeczywiste (większą od zera) | |
if not a>0 or not b>0 or not c>0 or not h>0: # Jeżeli a lub b nie jest większe od zer | |
raise Exception # To nas wyrzuci do bloku except, zdefiniowanego niżej | |
# Liczby całkowite: jeżeli program ma pracować tylko na liczbach całkowitych, korzystamy z int() zamiast Decimal lub float. | |
break # Musimy w jakiś sposób przerwać pętle, robimy to tutaj gdyż wszystkie dane udało nam się zweryfikować. | |
except: | |
continue | |
# Spokojnie, wdech/wydech, obliczanie będzie prostsze: | |
# Obwód | |
obw = a+b+c # Trzy boki do siebie | |
# Pole (wzór (a*h)/2) | |
pole = (a*h)/2 | |
# Powiedzmy użytkownikowi, co nam wyszło po obliczeniach: | |
### | |
### BARDZIEJ ZAAWANSOWANY TEKST | |
### | |
# Bardziej zaawansowany tekst pozwala nam dokładnie umieszczać zmienne programu w tekście. | |
# Robimy go, stawiając przed cudzysłowem `f` a zmienne wpisujemty w tekst w {nazwa_zmienne} np.: | |
print(f"Na podstawie danych można wyliczyć: Obwód: {obw}; Pole: {pole}") | |
# Oczywiście NIC nie stoi na przeszkodzie używać print z przecinkami: | |
# print("Na podstawie danych można wyliczyć: Obwód:", obw, "; Pole:", pole) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment