09 Mar 16:40
class Samochod:
def __init__(self, marka, model, rok_produkcji, pojemnosc_silnika, cena):
self.marka = marka
self.model = model
self.rok_produkcji = rok_produkcji
self.pojemnosc_silnika = pojemnosc_silnika
self.cena = cena
def wyswietl_szczegoly(self):
print(f"{self.marka} {self.model} {self.rok_produkcji} {self.cena}")
def srednie_spalanie(self):
if self.pojemnosc_silnika < 1.0:
return 5
elif 1.0 <= self.pojemnosc_silnika < 1.3:
return 5 + self.rok_produkcji / 850
else:
return 8
def porownaj_samochody(sam1, sam2):
if sam1.pojemnosc_silnika > sam2.pojemnosc_silnika:
return sam1
elif sam1.pojemnosc_silnika < sam2.pojemnosc_silnika:
return sam2
else:
if sam1.rok_produkcji > sam2.rok_produkcji:
return sam1
elif sam1.rok_produkcji < sam2.rok_produkcji:
return sam2
else:
return None
# 2. Lista 5 samochodów
samochody = [
Samochod("Toyota", "Yaris", 2018, 1.0, 45000),
Samochod("Ford", "Focus", 2016, 1.6, 38000),
Samochod("Skoda", "Fabia", 2020, 1.2, 52000),
Samochod("BMW", "320i", 2019, 2.0, 95000),
Samochod("Fiat", "Panda", 2015, 0.9, 22000)
]
# 3. Wyświetlenie szczegółów każdego samochodu
print("Szczegóły samochodów:")
for samochod in samochody:
samochod.wyswietl_szczegoly()
print(f"Średnie spalanie: {samochod.srednie_spalanie():.2f} l/100km")
# 5. Porównanie 3 par samochodów
print("\nPorównanie samochodów:")
pary = [
(samochody[0], samochody[1]),
(samochody[2], samochody[4]),
(samochody[1], samochody[3])
]
for i, (sam1, sam2) in enumerate(pary, start=1):
wiekszy = porownaj_samochody(sam1, sam2)
print(f"\nPara {i}:")
sam1.wyswietl_szczegoly()
sam2.wyswietl_szczegoly()
if wiekszy is None:
print("Samochody są równe.")
else:
print("Większy samochód:")
wiekszy.wyswietl_szczegoly()
# 6. Słownik 5 par: imię -> kwota
kwoty = {
"Anna": 1200,
"Jan": 850,
"Kasia": 1500,
"Piotr": 980,
"Marek": 1100
}
# 7. 5 prób - sprawdzanie przez "if in"
print("\nSprawdzanie słownika (bez wyjątku):")
for _ in range(5):
imie = input("Podaj imię: ")
if imie in kwoty:
print(kwoty[imie])
else:
print("nie znaleziono")
# 8. 5 prób - obsługa wyjątku KeyError
print("\nSprawdzanie słownika (z wyjątkiem):")
for _ in range(5):
imie = input("Podaj imię: ")
try:
print(kwoty[imie])
except KeyError:
print("nie znaleziono")