From f98f2fa7ec20592a1386e9004d2b722d9c235128 Mon Sep 17 00:00:00 2001 From: alstergym Date: Fri, 18 Sep 2026 09:14:16 +0200 Subject: [PATCH] 18.09.26 --- .gitignore | 16 +--------------- README.md | 2 +- Ratespiel.py | 27 +++++++++++++++++++++++++++ Würfel.py | 8 ++++++++ kart.py | 32 ++++++++++++++++++++++++++++++++ schlange/konto.py | 33 +++++++++++++++++++++++++++++++++ schlange/schlange.py | 35 +++++++++++++++++++++++++++++++++++ schlange/starten.py | 6 ++++++ schlange/starten_schlange.py | 6 ++++++ testkart.py | 31 +++++++++++++++++++++++++++++++ verketteteliste/knoten.py | 5 +++++ verketteteliste/liste.py | 5 +++++ verketteteliste/starten.py | 7 +++++++ zeugnis.py | 2 ++ 14 files changed, 199 insertions(+), 16 deletions(-) create mode 100644 Ratespiel.py create mode 100644 Würfel.py create mode 100644 kart.py create mode 100644 schlange/konto.py create mode 100644 schlange/schlange.py create mode 100644 schlange/starten.py create mode 100644 schlange/starten_schlange.py create mode 100644 testkart.py create mode 100644 verketteteliste/knoten.py create mode 100644 verketteteliste/liste.py create mode 100644 verketteteliste/starten.py create mode 100644 zeugnis.py diff --git a/.gitignore b/.gitignore index 36b13f1..5d381cc 100644 --- a/.gitignore +++ b/.gitignore @@ -95,12 +95,6 @@ ipython_config.py # install all needed dependencies. #Pipfile.lock -# UV -# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -#uv.lock - # poetry # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. # This is especially recommended for binary packages to ensure reproducibility, and is more @@ -113,10 +107,8 @@ ipython_config.py #pdm.lock # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it # in version control. -# https://pdm.fming.dev/latest/usage/project/#working-with-version-control +# https://pdm.fming.dev/#use-with-ide .pdm.toml -.pdm-python -.pdm-build/ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm __pypackages__/ @@ -168,9 +160,3 @@ cython_debug/ # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ -# Ruff stuff: -.ruff_cache/ - -# PyPI configuration file -.pypirc - diff --git a/README.md b/README.md index e4b9cd1..6f1af49 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -# Objektorientiertes-Programmieren +# Objektorientierung diff --git a/Ratespiel.py b/Ratespiel.py new file mode 100644 index 0000000..5a21548 --- /dev/null +++ b/Ratespiel.py @@ -0,0 +1,27 @@ +import random + +def auswertung(): + while True: + try: + zahl = int(input("Dein Tipp: ")) + return zahl + except ValueError: + print("Gib eine ganze Zahl ein") + +geheimzahl = random.randint(1, 100) +versuche = 0 + +print("Errate eine Zahl") + +while True: + tipp = auswertung() + versuche += 1 + + if tipp < geheimzahl: + print("Zu klein!") + elif tipp > geheimzahl: + print("Zu groß") + else: + print("Richtig!") + print("Du hast" , versuche , "Versuche gebraucht.") + break \ No newline at end of file diff --git a/Würfel.py b/Würfel.py new file mode 100644 index 0000000..f6af200 --- /dev/null +++ b/Würfel.py @@ -0,0 +1,8 @@ +import random + +count = 0 +for i in range(0,99): + x = random.randint(1, 6) + if x == 6: + count = count + 1 +print(count) \ No newline at end of file diff --git a/kart.py b/kart.py new file mode 100644 index 0000000..1c5e8cf --- /dev/null +++ b/kart.py @@ -0,0 +1,32 @@ +class Kart: + def __init__ (self, v_max, name, farbe, tempo, drift): #erster Parameter muss self sein #Konstruktor + self.v_max = v_max + self.name = name + self.farbe = farbe + self.tempo = tempo + self.drift = drift + + def __str__(self): + return "Das Kart heißt: " + self.name + + def beschleunigen(self): + self.tempo = self.tempo + 10 + + def rammen(self, boom): + self.tempo = self.tempo - self.tempo + boom.tempo = boom.tempo - boom.tempo + +class Item: + def __init__ (self, name, tempo): + self.name = name + self.tempo = tempo + self.tempo2 = tempo + + def __str__(self): + return "Das Item heißt" + self.name + + def stoppen(self): + self.tempo = self.tempo - self.tempo + + def boost(self): + self.tempo2 = self.tempo2 *2 \ No newline at end of file diff --git a/schlange/konto.py b/schlange/konto.py new file mode 100644 index 0000000..fc54ece --- /dev/null +++ b/schlange/konto.py @@ -0,0 +1,33 @@ +class Konto(object): + def __init__(self, nummer): + self.__nr = nummer + self.__stand = 0.0 + self.__inhaber = None + self.__minimum = -1000.0 + + def einzahlen(self, betrag): + self.__stand = self.__stand + betrag + + def auszahlen(self, betrag): + if self.__stand - betrag >= self.__minimum: + self.__stand = self.__stand - betrag + else: + print("Auszahlung nicht möglich!") + + def getNr(self): + return print(f"Die Kontonummer ist: {self.__nr}") + + def getStand(self): + return print(f"Die Kontonstand ist: {self.__stand}") + + def setStand(self, stand): + if stand >= self.__minimum: + self.__stand = stand + else: + print("Initialisierung nicht möglich!") + + def getMinimum(self): + return self.__minimum + + def setMinimum(self, minimum): + self.__minimum = minimum \ No newline at end of file diff --git a/schlange/schlange.py b/schlange/schlange.py new file mode 100644 index 0000000..ecdd41b --- /dev/null +++ b/schlange/schlange.py @@ -0,0 +1,35 @@ +class Schlange(object): + def __init__(self): + self.__liste = [] + self.__anzahl = 0 + + def istLeer(self): + if self.__anzahl == 0: + return True + else: + return False + + def mitLetztem(self, element): + self.__liste = self.__liste + [element] + self.__anzahl = self.__anzahl + 1 + + def ohneErstes(self): + if not self.istLeer(): + self.__liste = self.__liste[1:] #1: => bis zum letzten Element + self.__anzahl = self.__anzahl - 1 + + def erstes(self): + if self.istLeer(): + return None + else: + return self.__liste[0] + + def anzahlElemente(self): + return self.__anzahl + + def getSchlange(self): + return self.__liste + + def setSchlange(self, liste): + self.__liste = liste + self.__anzahl = len(self.liste) \ No newline at end of file diff --git a/schlange/starten.py b/schlange/starten.py new file mode 100644 index 0000000..029cc4d --- /dev/null +++ b/schlange/starten.py @@ -0,0 +1,6 @@ +from konto import Konto +k = Konto(3) +k.getNr() + +k.setStand(500.0) +k.getStand() diff --git a/schlange/starten_schlange.py b/schlange/starten_schlange.py new file mode 100644 index 0000000..e374c16 --- /dev/null +++ b/schlange/starten_schlange.py @@ -0,0 +1,6 @@ +from schlange import Schlange +s = Schlange() +#s.liste = s.liste + [3] +print(s.istLeer()) +s.mitLetztem(3) +print(s.istLeer()) \ No newline at end of file diff --git a/testkart.py b/testkart.py new file mode 100644 index 0000000..28dd9f1 --- /dev/null +++ b/testkart.py @@ -0,0 +1,31 @@ +from kart import Kart +from kart import Item + +#Definition der Karts/Erzeugung des Objekts +kart1 = Kart(300, "bluey", "blue", 120, 200) +print(kart1) +print(kart1.farbe) +kart1.beschleunigen() +print(kart1.tempo) +print(kart1.drift) + +kart2 = Kart(500, "lene", "rosa", 320, 200) +print(kart2) +print(kart2.farbe) +kart2.beschleunigen() +print(kart2.tempo) +print(kart2.drift) + +#Interaktion zweier Objekte kart1 & kart2 +kart1.rammen(kart2) + +print(kart1.tempo) +print(kart2.tempo) + +item1 = Item("Stopp", 120) +print(item1.name) +item1.stoppen() +print(item1.tempo) + +item1.boost() +print(item1.tempo2) \ No newline at end of file diff --git a/verketteteliste/knoten.py b/verketteteliste/knoten.py new file mode 100644 index 0000000..b3f8976 --- /dev/null +++ b/verketteteliste/knoten.py @@ -0,0 +1,5 @@ +class Knoten: + def __init__(self, data): + self.data = data + self.next = None + \ No newline at end of file diff --git a/verketteteliste/liste.py b/verketteteliste/liste.py new file mode 100644 index 0000000..766f5cd --- /dev/null +++ b/verketteteliste/liste.py @@ -0,0 +1,5 @@ +from knoten import Knoten + +class Liste: + def __init__(self): + self.head = None \ No newline at end of file diff --git a/verketteteliste/starten.py b/verketteteliste/starten.py new file mode 100644 index 0000000..efb7c66 --- /dev/null +++ b/verketteteliste/starten.py @@ -0,0 +1,7 @@ +from knoten import Knoten + +knoten1 = Knoten(3) +knoten2 = Knoten(5) +knoten1.next = knoten2 +print(knoten1.next.data) +print(knoten2.data) diff --git a/zeugnis.py b/zeugnis.py new file mode 100644 index 0000000..3b235d8 --- /dev/null +++ b/zeugnis.py @@ -0,0 +1,2 @@ +import random +