also wir haben heute nur kurz das Thema Klassen angefangen, allerdings schon eine Aufgabe dazu gestellt gekriegt, die folgerndermaßen aussieht:
1. Erstellt eine Klasse Person mit den Attributen vorname, nachname, geschlecht und alter
2. die Klasse hat die Methode getGrussformel(), für erwachsene Männer "Sehr geehrter Herr <vorname> <nachname>"
für erwachsene Frauen "Sehr geehre Frau <vorname> <nachname>"
und für Personen unter 18 Jahren " Hallo <vorname>"
zurückgeliefert.
Am Ende des Programms waren folgende Angaben gemacht:
Code: Alles auswählen
a = Person ("Ina", "Schmidt", "W", 18)
b = Person ("Peter", "Meier", "M", 32)
c = Person ("Jan", "Huber", "M", 12)
d = Person ("Lisa", "Maler", "W", 17)
print(a.getGrussformel())
print(b.getGrussformel())
print(c.getGrussformel())
print(d.getGrussformel())Um die Aufgabe zu lösen, habe ich folgenden Code erstellt:
Code: Alles auswählen
class Person(object):
def __init__(self, vorname, nachname, geschlecht, alter):
self.vorname = vorname
self.nachname = nachname
self.geschlecht = geschlecht
self.alter = alter
def getGrussformel(self, vorname, nachname):
if self.geschlecht == "M" and self.alter > 18:
getGrussformel = ("Sehr geehrter Herr ",vorname,nachname)
elif self.alter < 18 :
getGrussformel = "Hallo "
else:
getGrussformel = "Sehr geehrte Frau "TypeError: getGrussformel() missing 2 required positional arguments: 'vorname' and 'nachname'
Wenn ich bei def getGrussformel versucht habe vorname und nachname wegzulassen, gab es zwar keinen fehler, aber hat nur viermal None ausgespuckt. Welche Angaben muss ich also noch machen, um das zu lösen? Ich hoffe ich konnte mein Problem eindeutig erläutern.
