-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathU6_4_Auto.py
More file actions
60 lines (50 loc) · 1.74 KB
/
U6_4_Auto.py
File metadata and controls
60 lines (50 loc) · 1.74 KB
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
48
49
50
51
52
53
54
55
56
57
58
59
60
##############################################
#
# Name: U6_4_Auto.py
#
# Author: Peter Christen
#
# Version: 1.2
#
# Date: 20.11.2015 V1.0
# 25.03.2024 V1.1 Übung überarbeitet
# 27.09.2024 V1.2 Kleinere Anpassungen
#
# Purpose: Beispiel eines Object Oriented Python Scripts mit Operatoren
#
# Vorlage: Übung 6.7 oop_operator.py aus Buch "Einstig in Python"
#
##############################################
#### Lösung: ####
# KI-Prompt
# Erstelle ein Objekt Orientiertes Python Script mit folgenden Funktionen:
# - Es sollen nacheinander zwei Fahrzeugen und ihre maximale Geschwindigkeit abgefragt werden
# - Danach soll mit den besonderen Operatormethoden verglichen werden, welches Fahrzeug schneller ist, oder ob beide gleich schnell sind.
# - Das Resultat soll als Ausgabe auf dem Bildschirm erscheinen
# Klassen
class Auto:
'''Klasse zum Verwalten von Fahrzeugen'''
def __init__(self, marke, speed):
self.marke = marke
self.speed = speed
def __gt__(self, other):
return self.speed > other.speed
def __eq__(self, other):
return self.speed == other.speed
def __sub__(self, other):
return self.speed - other.speed
marke1 = input("Fahrzeugname 1: ")
speed1 = int(input("Speed 1: "))
marke2 = input("Fahrzeugname 2: ")
speed2 = int(input("Speed 2: "))
objekt1 = Auto(marke1, speed1)
objekt2 = Auto(marke2, speed2)
print()
if objekt1 == objekt2:
print(f"Der {objekt1.marke} und der {objekt2.marke} sind gleich schnell ({int(objekt1.speed)} km/h)")
elif objekt1 > objekt2:
print(
f"Der {objekt1.marke} ist {objekt1 - objekt2} km/h schneller als der {objekt2.marke}")
else:
print(
f"Der {objekt2.marke} ist {objekt2 - objekt1} km/h schneller als der {objekt1.marke}")