Hallo liebe Mitglieder,
ich bin noch ganz am Anfang. Habe mir aus Spaß diesen Code geprinted...
Kann mir vielleicht bitte erklären wie ich die "altern" Definition in eine Integer und damit rechnen kann?
class Leute():
def __init__(self,Vorname,Nachname,Alter):
self.Vorname = Vorname
self.Nachname = Nachname
self.Alter = Alter
def altern (self):
self.Alter= self.Alter +str(1)
def Daten(self):
print(self.Vorname+" ,"+self.Nachname+" ist "+self.Alter)
emp1 = Leute("David" , " Lawrence","39")
emp1.altern()
Carlo = Leute("Carlo" , " Meier","33")
Gisi1=Leute ("Gisela" , " Müller","67")
Konfuzius=Leute("Mahadma" , " Gandhi","103")
emp1.Daten()
Carlo.Daten()
Gisi1.Daten()
Konfuzius.Daten()
How to Objektorientierung
Du speicherst das Alter nicht als String sondern als Integer.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
- __blackjack__
- User
- Beiträge: 13117
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@I3lackt4r: Nein, das Alter sollte von vornherein nirgends eine Zeichenkette sein.
Weitere Anmerkungen:
`Leute` passt nicht als Name für eine Klasse die gar keine Leute (Mehrzahl) modelliert, sondern nur *eine* Person.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Funktions- und Methodennamen beschreiben üblicherweise die Tätigkeit, die sie durchführen. `Daten()` ist keine Tätigkeit und dazu noch absolut nichtssagend.
Man nummeriert keine Namen. Das macht hier noch nicht einmal Sinn da willkürlich eine 1 dran zu hängen oder es nicht zu tun.
Weitere Anmerkungen:
`Leute` passt nicht als Name für eine Klasse die gar keine Leute (Mehrzahl) modelliert, sondern nur *eine* Person.
Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Funktions- und Methodennamen beschreiben üblicherweise die Tätigkeit, die sie durchführen. `Daten()` ist keine Tätigkeit und dazu noch absolut nichtssagend.
Man nummeriert keine Namen. Das macht hier noch nicht einmal Sinn da willkürlich eine 1 dran zu hängen oder es nicht zu tun.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Hallo,
ist jetzt vermutlich nicht was du hören willst, aber du kommst jetzt von einem Problem zum nächsten Problem und die Lösungen wirst du meist nicht verstehen.
Ich würde dass was du da vorhast erst mal ohne Klasse programmieren, damit du dich mit den Grundlagen vertraut machen kannst. Es ist wichtig zu wissen was mit einer Zahl passiert, wenn man die zwischen Anführungszeichen schreibt, was 'str()', 'int()' etc macht und wie man Ausgaben, die aus verschiedenen Typen, Zahlen und Buchstaben, zusammen setzt.
Du musst erst mal etwas "spielen" zum Beispiel mit solchen Tests:
Damit du die unterschiedlichen Datentypen lernst.
Und einfach mal weiter probieren, wieso kann Python hier nicht x und y zusammenzählen?
Am besten noch das Tutorial durcharbeiten:
https://docs.python.org/3/tutorial/
Grüße
Dennis
ist jetzt vermutlich nicht was du hören willst, aber du kommst jetzt von einem Problem zum nächsten Problem und die Lösungen wirst du meist nicht verstehen.
Ich würde dass was du da vorhast erst mal ohne Klasse programmieren, damit du dich mit den Grundlagen vertraut machen kannst. Es ist wichtig zu wissen was mit einer Zahl passiert, wenn man die zwischen Anführungszeichen schreibt, was 'str()', 'int()' etc macht und wie man Ausgaben, die aus verschiedenen Typen, Zahlen und Buchstaben, zusammen setzt.
Du musst erst mal etwas "spielen" zum Beispiel mit solchen Tests:
Code: Alles auswählen
was_ist_das = 5
print(was_ist_das)
print(type(was_ist_das))
was_ist_das = "5"
print(was_ist_das)
print(type(was_ist_das))
Und einfach mal weiter probieren, wieso kann Python hier nicht x und y zusammenzählen?
Code: Alles auswählen
x = 5
y = "5"
print(x + y)
https://docs.python.org/3/tutorial/
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]