09 Mar 17:02
Nowe barti
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(samochod1, samochod2):
if samochod1.pojemnosc_silnika > samochod2.pojemnosc_silnika:
return samochod1
elif samochod1.pojemnosc_silnika < samochod2.pojemnosc_silnika:
return samochod2
else:
if samochod1.rok_produkcji > samochod2.rok_produkcji:
return samochod1
elif samochod1.rok_produkcji < samochod2.rok_produkcji:
return samochod2
else:
return None
# 2. Lista 5 samochodów
samochody = [
Samochod("Toyota", "Yaris", 2018, 1.0, 45000),
Samochod("Skoda", "Octavia", 2020, 1.6, 78000),
Samochod("Fiat", "500", 2016, 0.9, 38000),
Samochod("Volkswagen", "Golf", 2019, 1.2, 62000),
Samochod("BMW", "320i", 2021, 2.0, 135000)
]
# 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/100 km")
# 5. Porównanie 3 par samochodów
print("\nPorównanie samochodów:")
pary = [
(samochody[0], samochody[1]),
(samochody[2], samochody[3]),
(samochody[1], samochody[4])
]
for s1, s2 in pary:
wiekszy = porownaj_samochody(s1, s2)
if wiekszy is None:
print(f"{s1.marka} {s1.model} i {s2.marka} {s2.model} są równe.")
else:
print(
f"Większy samochód: {wiekszy.marka} {wiekszy.model} "
f"(pojemność: {wiekszy.pojemnosc_silnika}, rok: {wiekszy.rok_produkcji})"
)
# 6. Słownik: imię -> kwota
kwoty = {
"Jan": 100,
"Anna": 250,
"Piotr": 400,
"Maria": 150,
"Kasia": 300
}
# 7. Sprawdzanie obecności klucza w słowniku
print("\nWersja 1 - sprawdzanie klucza:")
for _ in range(5):
imie = input("Podaj imię: ")
if imie in kwoty:
print(f"Kwota dla {imie}: {kwoty[imie]}")
else:
print("nie znaleziono")
# 8. Obsługa wyjątku KeyError
print("\nWersja 2 - obsługa wyjątku:")
for _ in range(5):
imie = input("Podaj imię: ")
try:
print(f"Kwota dla {imie}: {kwoty[imie]}")
except KeyError:
print("nie znaleziono")