Seite 1 von 1

Python Anfänger: Rechtecke

Verfasst: Sonntag 18. November 2018, 21:46
von TheErebos
Hey,

ich habe grade erst angefangen Python zu programmieren und habe eine kleine Frage, die warscheinlich schon mit Anfängerwissen in Python zu beantworten ist.

Ich habe schnell einen Einstieg in die objektiorientierte Programmierung gewagt, die ich bisher nur in Java probiert hatte und momentan sieht mein Code wie folgt aus:

Code: Alles auswählen

#!/usr/bin/python
#Rechtecke Flaecheunterschied

class Rechteck:

    def __init__ (self, exbreite, exhoehe):
        self.breite = exbreite;
        self.hoehe = exhoehe;

    def flaeche():
        return (breite*hoehe)

#Rechtecke
r_name = ["r1", "r2"];
r_breite1 = [30, 40];
r_hoehe1 = [4, 5];

#Erstellung Objekte
for i in range(len(r_name)):
    r_name[i] = Rechteck(r_breite1[i], r_hoehe1[i]);

#Vergleichen Flaecheninhalt
def compare_f(*args):
    return abs(r1.flaeche-r2.flaeche)

#Ausgabe
print("Der Flaechenunterschied betraegt {} Quadratmeter.".format(compare_f(r1.fleache, r2.fleache))


Leider treten beim Ausführen einige Fehler auf und ehrlich gesagt bin ich etwas ratlos.


File "None.py", line 28

^
SyntaxError: unexpected EOF while parsing

Re: Python Anfänger: Rechtecke

Verfasst: Sonntag 18. November 2018, 22:07
von pixewakb
In der letzten Zeile fehlt eine schließende Klammer (")"), dann läuft das Programm erst einmal, bricht aber mit einem Fehler direkt wieder ab.

Code: Alles auswählen

#!/usr/bin/python
# Rechtecke Flaecheunterschied

class Rechteck:

    def __init__ (self, breite, hoehe):
        self.breite = breite
        self.hoehe = hoehe

    def flaeche(self):
        return(self.breite * self.hoehe)

# Rechtecke
r1 = Rechteck(30, 4)
r2 = Rechteck(40, 5)


# Ausgabe
print("Der Flaechenunterschied betraegt {} Quadratmeter.".format(abs(r1.flaeche() - r2.flaeche())))
Die Semikolons kannst Du Dir direkt abgewöhnen, der angepasste Quellcode ist lauffähig.