Brauche Hilfe! Programm funktioniert nicht, komme nicht weit

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo!

Ich wollte ein Programm programmieren das vom Quadrat und vom Rechteck den Umfang ausrechnen, aber es funktioniert nicht?
Weis wer warum?
Das ist es:

Code: Alles auswählen

# -*- coding: cp1252 -*-
Import easygui
form1 = easygui.buttonbox("Möchtest du ein Quadrat oder ein Rechteck berechnen?",
                                      choices = ["Rechteck", "Quadrat"])

if form1 Rechteck:
    zahl1 = easygui.enterbox("Gib die erste Zahl des Rechtecks ein: ")
    zahl2 = easygui.enterbox("Gib die zweite Zahl des Rechtecks ein: ")
    ergebnis = zahl1 * zahl2
    print ergebnis

if form1 Quadrat :
    zahl3 = easygui.enterbox("Gib die erste Zahl des Quadrates ein: ")
    zahl4 = easygui.enterbox("Gib die zweite Zahl des Quadrates ein: ")
    ergebnis2 = zahl3 + zahl4 * 2
    print ergebnis2
Zuletzt geändert von Anonymous am Dienstag 6. August 2013, 07:31, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
LG. ss_nase :)
Sirius3
User
Beiträge: 18264
Registriert: Sonntag 21. Oktober 2012, 17:20

Hallo nase,

"funktioniert nicht" ist eine ganz schlechte Fehlerbeschreibung. Da können wir mit der Frage „Hast Du den Computer eingeschaltet?“ anfangen. Python liefert einen sogenannten »Traceback« der genaue Angaben darüber macht, wo und welcher Fehler aufgetreten ist. Kommt zum Bespiel ein »SyntaxError« in einer bestimmten Zeile, dann kannst Du schonmal selbst in dem Anfängertutorium Deiner Wahl nachschauen, wie zum Bespiel eine if-Abfrage richtig aussehen müßte.
Übrigens sind in Python die Einrückungen essentiell. Dafür gibt es im Forum über diesem Textfeld den [ python ]-Knopf um Code entsprechend zu formatieren.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

ss_nase hat geschrieben:Ich wollte ein Programm programmieren das vom Quadrat und vom Rechteck den Umfang ausrechnen, aber es funktioniert nicht?
Weis wer warum?
Python sagt dir warum. Du bekommst direkt folgende Fehlermeldung:

Code: Alles auswählen

  File "C:/pyjects/test/libraries/easygui_/somemore.py", line 8
    Import easygui
                 ^
SyntaxError: invalid syntax
Die Zeilennummer ist bei dir vielleicht eine andere, aber die Meldung ist identisch. Offensichtlich ist hier etwas falsch. Der Modulname sieht ordentlich aus und beim Nichtvorhandensein des Moduls würde auch ein ImportError statt eines SyntaxError zurückgeliefert. Damit bleibt noch das Import. Das ist jetzt tatsächlich falsch. Was du haben wolltest war import, also das korrekt in Kleinbuchstaben geschriebene Schlüsselwort.

Korrigiere das und dann schau mal was als nächster Fehler kommt. Versuche den zu verstehen. Wenn du ihn nicht verstehst, dann frag hier gerne noch mal nach. Beschreibe dann aber bitte, was dein erwartetes Ergebnis ist und was du stattdessen bekommst. "Geht nicht" ist eine Fehlermeldung mit Nullaussage.

Falls du den beim if folgenden SyntaxError nicht verstehst greife ich schon mal mit einer Antwort vor: if Statements.
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo an alle die mir bis jetzt geantwortet haben!

Ich habe die letzte if Anweisung in else umgewandelt:
also:
else form1 Quadrat:
Denn noch wird mir eine Fehlermeldung angezeigt :
Ther`s an error in your program:
invalid synax
Dann makiert es mir
Rechteck
rot.
Also das Rechteck bei der ersten if Anweisung.


Ich habe schon alles was in meinem Wissen steht(was nicht umbedinkt viel ist :) )versucht, aber ich bekomme immer eine Fehler Meldung angezeigt(es liegt eigentlich immer am Rechteck)
Das war jetzt so gut wie ich konnte beschrieben, hoffentlich könnt ihr mit dieser Erklärung was anfangen! :)
Ach, und danke für das Antworten!!! :wink:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Was soll denn das für eine Syntax sein?

Code: Alles auswählen

if name_a name_b:
Logisch, dass das nicht funktioniert...

Nach ``if`` muss ein Ausdruck stehen, der zu einem Wahrheitswert ausgewertet werden kann.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Hyperion hat geschrieben:Nach ``if`` muss ein Ausdruck stehen, der zu einem Wahrheitswert ausgewertet werden kann.
Ich hatte ja schon extra den Link aufs Tutorial gesetzt. *seufz*
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo!

Ich fange gerade mit Python an zu programmieren, ich dachte mit meinem Wissensstant könnte ich das schon programmieren.
Aber ich bringe das Programm nicht zum laufen, und in englisch bin ich auch nicht gerade gut, was erklärt warum ich das Tutorial nicht wirklich verstanden hab. :oops:
Tut mir echt leid das ich es nicht ganz begreife, was ihr schreibt.
Aber hat einer von euch es ausprobiert und das Programm zum laufen gebracht?
Nochmals tut mir ECHT leid das ich es nicht ganz kapiere was ihr meint, aber sonst ist es egal und ich halte mir das Programm auf bis ich besser programmieren kann.
Meint ihr das dass eine gute Idee ist? :K
LG. ss_nase :)
BlackJack

@ss_nase: Zum Thema Englisch gibt es ein hier im Forum „It's english, get over it”. Ohne technisches Englisch zumindest lesen zu können, kann man das mit dem Programmieren im Grunde vergessen. Aktuelle Dokumentation von Programmiersprachen und Bibliotheken ist in den allermeisten Fällen nur in englischer Sprache verfügbar, und alles interessante, nicht-triviale benötigt früher oder später eine Bibliothek oder ein Modul was nicht in einem deutschen Tutorial oder Buch ausführlich beschrieben ist.

Für absolute Anfänger wird oft dieses Tutorial empfohlen Learn Python The Hard Way (nicht vom Titel abschrecken lassen :-)), welches in kleinen Schritten vorgeht, und stark darauf setzt, dass der Leser die Sachen ausprobiert und damit herum experimentiert, um ein Gefühl für die Programmiersprache zu bekommen.

Ich habe Dein Programm nicht ausgeführt oder vebessert, aber es ist eigentlich recht deutlich was da alles schief läuft. Das ist neben der Syntax, ein fehlendes Verständnis vom Unterschied zwischen Namen und literalen Zeichenketten, und dem Unterschied zwischen Zahlen und Zeichenketten (also allgemein Datentypen).

Inhaltlich sind die Ausgaben an den Benutzer nicht besonders gut, weil „eine Form berechnen” sehr vage ist. Das erklärt nicht *wirklich* was das Programm macht, und damit was der Benutzer eingeben soll, und was er zu erwarten hat. Im Beitrag schreibst Du Umfang berechnen, was im Programm dann aber gar nicht wirklich passiert. Im Grunde für beide Formen nicht korrekt. Für das Rechteck steht da nämlich die Rechnung für die Fläche, und beim Quadrat fragt man sich was denn die *zwei* Zahlen sind, welche ein Quadrat beschreiben.

Zum letzten Punkt muss man etwas zu den schlechten Namen sagen, die a) zu allgemein sind, und b) durchnummeriert. Namen sollten dem Leser vermitteln wofür der Wert der daran gebunden wird, im Programm steht. Und `zahl1` und `zahl2` sagen das überhaupt nicht. Die sagen nur was dort für ein Datentyp hinter steckt, beziehungsweise stecken sollte, denn in Deinem Programm sind das keine Zahlen sondern Zeichenketten. Beim Rechteck wären Namen wie `hoehe` und `breite` deutlich aussagekräftiger. Wenn Du die Werte nach ihrer Bedeutung im Programm benennst, wäre Dir beim Quadrat sehr wahrscheinlich auch aufgefallen, dass das dort Unsinn ist, denn ich wäre sehr gespannt wie man bei einem Quadrat *zwei* sinnvoll benannte Werte zusammenbekommt. ;-)

Namen durchnummerieren ist selten bis nie eine gute Idee. Entweder ist man zu faul sich passende Namen auszudenken, was das Programm unverständlicher und damit auch fehleranfälliger macht, oder man möchte eigentlich *einen* Namen für eine Datenstruktur worin die Werte gespeichert werden. Meistens eine Liste oder ein Tupel.

Zum Syntaxfehler beim ``if``: Zwischen ``if`` und dem ``:`` muss ein Ausdruck stehen, der zu einem Wahrheitswert ausgewertet wird. Bei Dir stehen da einfach zwei Namen nebeneinander. Zwei Namen nebeneinander zu schreiben ist aber keine gültige Syntax, denn der Compiler weiss an der Stelle nicht was er damit anfangen soll. Was meint der Programmierer damit‽ Da fehlt irgend eine Operation welche die beiden Werte hinter den Namen verknüpft und Python sagt, wie daraus ein Ergebnis berechnet werden soll. Also bei Bedingungen in der Regel einer der Vergleichsoperatoren:

Code: Alles auswählen

In [1]: a = 23

In [2]: b = 42

In [3]: if a b: print 'a ist kleiner als b'
  File "<ipython-input-3-cdd979643eef>", line 1
    if a b: print 'a ist kleiner als b'
         ^
SyntaxError: invalid syntax


In [4]: a b
  File "<ipython-input-4-7557d2f3a6ad>", line 1
    a b
      ^
SyntaxError: invalid syntax


In [5]: a < b
Out[5]: True

In [6]: if a < b: print 'a ist kleiner als b'
a ist kleiner als b

In [7]: if a > b: print 'a ist kleiner als b' # Keine Ausgabe denn die Bedingung ist unwahr.

In [8]:
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo BlackJack!
Danke für die Antwort und die Erklärung! :)
Das mit dem Synaxfehler habe ich jetzt kapiert, aber mein Programm will noch immer nicht funktionieren :cry:
Da ist das Programm:

Code: Alles auswählen

# -*- coding: cp1252 -*-
Import easygui
easyui.msgbox("Möchtest du Rechteck oder Quadrat berechnen?")
berechnung  = easygui.buttonbox("Wähle aus, Rechteck oder Quadrat: ",
                                     choices = [Rechteck","Quadrat"])

if berechnung == "Rechteck" :
     breite = easygui.enterbox("Gib die Breite des Rechteck ein: ")
     laenge = easygui.enterbox("Gib die Laenge der Rechteck ein: ")
     ergebnis = breite * laenge
     easygui.msgbox(ergebnis)

elif Berechnung == "Quadrat" :
    breite2 = easygui.enterbox("Gib die Breite des Quadrates ein: ")
    laenge2 = easygui.enterbox("Gib die Breite des Quadrates ein: ")
    ergebnis2 = breite2 + laenge2 *2
    easygui.msgbox(ergebnis2)
Die Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
    File "C:/Python25/berechnungeasygui3.py", line 10. in <module>
        Ergebnis = breite * laenge
TypeError: can't multiply sequence by non-int of type 'str'
Das bedeutet doch das ich Laenge und Breite in Anführungszeichen setzen müsste also :
"laenge" * "breite"
Naturlich überral umändern...
Dann bekomme ich diese Fehlermeldung:

There's an error in your Programm:
***can't assing to literal(C:/Python25/berechnungeasygui3.py,line8)

Was mach ich jetzt schon wieder falsch?
Noch einen schönen Tag!!!!! :D
Zuletzt geändert von Anonymous am Freitag 9. August 2013, 06:44, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
LG. ss_nase :)
BlackJack

@ss_nase: Setze den Quelltext in Deinen Beiträgen doch bitte mindestens in code-Tags, am besten den Python-Quelltext auch mit der entsprechenden Angabe, damit die Syntax farbig hervorgehoben wird. Du kannst über den „ändern”-Knopf in Deinen letzten Beitrag schauen um zu sehen wie man das macht. Ohne code-Tags gehen in der Anzeige des Quelltextes hier im Forum die Einrückungen verloren, und die sind bei Python ja von Bedeutung für die Sprache und für das Verständnis vom Quelltext.

Mit Syntaxhervorhebung sieht man manchmal Fehler auch leichter. Ganz offensichtlich stimmen Deine Zeichenkettenbegrenzer nicht in dem Quelltext, den Du gezeigt hast, denn da ist Code der offenbar als Inhalt von einer Zeichenkette gesehen wird. Ausserdem steht dort schon wieder ``Import`` mit einem grossen `I` am Anfang.

Und wenn man sich die Fehlermeldung anschaut, dann ist dort `Ergbebnis` in der angezeigten Quelltext mit einem grossen E geschrieben, während es im gezeigten Quelltext klein geschrieben ist. Bitte kopiere solche Daten immer 1:1 und schreib da nichts per Hand ab, oder zeige keine Fehlermeldungen die gar nicht mit dem gezeigten Quelltext erzeugt wurden. So etwas macht es schwieriger zu helfen, weil im schlechtesten Fall die Helfer von falschen Voraussetzungen ausgehen.

Aus der Fehlermeldung hast Du den falschen Schluss gezogen. Mit Anführungszeichen bekommst Du Zeichenkettenliterale. Und damit, wenn Du es „richtig” gemacht hast, genau die gleiche Fehlermeldung. Denn das Problem ist, dass man nicht eine Zeichenkette mit einer Zeichenkette multiplizieren kann. `easygui.enterbox()` gibt, genau wie `raw_input()` die Benutzereingabe als Zeichenkette zurück. Du möchtest aber mit Zahlen rechnen, also musst Du die eingegebenen Zeichenketten in Zahlen umwandeln.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Code: Alles auswählen

>>> x = "21"
>>> y = "2"
>>> x * y

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    x * y
TypeError: can't multiply sequence by non-int of type 'str'
>>> y = int(y)
>>> x * y
'2121'
>>> x = int(x)
>>> x * y
42
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo BlachJack und /me
Jetzt funktioniert es, naja fast also das Rechteck berechnet das Programm jetzt fehlerlos aber wenn man den Umfang von dem Quadrat ausrechnen will beendet sich das Programm, es gibt keine Fehlermeldung es hört auf zu laufen und man findet sich im Integrativen Modus wieder.
Das ist das Programm, dieses mal so das ihr es leichter erkennen könnt und 1 zu 1 kopiert und forher habe ich Rechteck und Quadrat vertausch, das habe ich nun auch behoben:

Code: Alles auswählen

# -*- coding: cp1252 -*-
import easygui
easygui.msgbox("Dieses Programm berechnet den Umfang.")
berechnung = easygui.buttonbox("Wehle aus, Rechteck oder Quadrat: ",
                        choices = ["Rechteck","Quadrad"])

if berechnung == "Rechteck" :
    breite = easygui.enterbox("Gib die Breite des Rechteckes ein: ")
    laenge = easygui.enterbox("Gib die Länge des Rechteckes ein: ")
    breite = int(breite)
    laenge = int(laenge)
    zahl = int(2)
    ergebnis = laenge * 2 + breite * 2
    easygui.msgbox(ergebnis)

elif berechnung == "Quadrat" :
    laenge_1 = easygui.enterbox("Gib die Länge des Quadrates ein: ")
    laenge_1 = int(laenge_1)
    ergebnis_1 = laeng_1 * 4
    easygui.msgbox(ergebnis_1)
Wisst ihr was los ist, weil es gibt ja keine Fehlermeldung.
Ich wünsche euch einen schönen Tag und danke für euere Antworten! :D :D :D
LG. ss_nase :)
BlackJack

@ss_nase: Die `buttonbox` gibt 'Quadrad' zurück, Du prüfst aber auf 'Quadrat'. Das ist einer der Gründe warum man versucht zu vermeiden solche Werte mehrfach im Programm als literale Werte zu schreiben, und stattdessen eine Konstante definiert. Wenn man sich nämlich bei einem Namen verschreibt, gibt es an der Stelle eine Fehlermeldung. Per Konvention werden Konstanten komplett mit Grossbuchstaben benannt.

Wo wir gerade beim benennen sind: Lass das mit diesen Nummernzusätzen bleiben. Die `_1` bei einigen Namen bringen keinen Mehrwert. Im Gegenteil — beim Ergebnis verhindert der unterschiedliche Name, dass die Anzeige hinter das ``if``/``elif``-Konstrukt gezogen werden kann. Denn eigentlich ist die letzte Zeile in beiden Verzweigungen ja gleich, also müsste man sie nicht doppelt schreiben, sondern nur einmal am Ende des Codes.

`zahl` wird nicht verwendet. Ausserdem ist es unsinnig `int()` mit einer literalen ganzen Zahl aufzurufen. 2 ist schon eine ganze Zahl, die wird nicht irgendwie ganzzahliger wenn man noch einmal `int()` mit ihr aufruft.

Das Aufteilen der Eingabe und der Umwandlung in zwei Schritte ist unnötig langatmig, das kann man jeweils problemlos in einem Ausdruck schreiben.
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Meinst du dass ich das Programm so um ändern soll?

Code: Alles auswählen

# -*- coding: cp1252 -*-
import easygui
easygui.msgbox("Dieses Programm berechnet den Umfang.")
berechnung = easygui.buttonbox("Wehle aus was willst du berechnen: ",
                        choices = ["Rechteck","Quadrad"])

if berechnung == "Rechteck" :
    breite = easygui.enterbox("Gib die Breite des Rechteckes ein: ")
    laenge = easygui.enterbox("Gib die Länge des Rechteckes ein: ")
    breite = int(breite)
    laenge = int(laenge)
    ergebnis = laenge * 2 + breite * 2
    easygui.msgbox(ergebnis)

elif berechnung == "Quadrat" :
    laenge = easygui.enterbox("Gib die Länge des Quadrates ein: ")
    laenge = int(laenge)
    ergebnis = laeng * 4
    easygui.msgbox(ergebnis)
So funktioniert das Programm noch immer nicht, habe ich deine Erklärung richtig verstanden?
Oder mache ich noch immer was falsch das es nicht läuft?
Das mit dem Ausdruck vehrstehe ich nict :(
LG. ss_nase :)
BlackJack

@ss_nase: Lass Dir nach der Benutzereingabe doch einfach mal ausgeben welchen Wert `berechnung` hat wenn der Benutzer den Umfang eines Quadrats berechnen möchte, und vergleiche das dann mit dem Wert mit dem Du `berechnung` mit dem ``elif`` vergleichst.

Wenn das korrigiert ist, wird beim Berechnen des Quadratumfangs übrigens ziemlich offensichtlich ein `NameError` kommen, weil `laeng` nicht definiert ist.


Edit: Mit dem einen Ausdruck statt zwei meinte ich das hier:

Code: Alles auswählen

    # 
    # Anstatt:
    # 
    breite = easygui.enterbox('Gib die Breite des Rechteckes ein: ')
    laenge = easygui.enterbox('Gib die Länge des Rechteckes ein: ')
    breite = int(breite)
    laenge = int(laenge)
    #
    # Besser:
    #
    breite = int(easygui.enterbox('Gib die Breite des Rechteckes ein: '))
    laenge = int(easygui.enterbox('Gib die Länge des Rechteckes ein: '))
Um dem Fehler im Programm auf die Spur zu kommen, wäre auch ein ``else``-Zweig hilfreich. Also Code der ausgeführt wird, wenn keine der Bedingungen vorher zutrifft. Was sollte dort hinein? Nun, da ja eigentlich alle Möglichkeiten vorher abgedeckt werden, also dieser ``else``-Zweig nicht ausgeführt werden dürfte, kann man dort mit ``assert`` arbeiten, weil es sich eindeutig um einen Programmiererfehler handelt wenn das ``else`` betreten wird, und die Zusicherung, dass alle Fälle vorher behandelt werden, nicht eingehalten wurde. Also zum Beispiel:

Code: Alles auswählen

        # ...
    else:
        assert False, 'ungültiger Wert für `berechnung` %r' % berechnung
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo BlackJack :)

Ich habe es korrigiert, aber es kam kein NameError. Als ich das dann mit assert eingegeben habe kam eine Fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Python25\meineprogramme\berechnungeasygui.py", line 19, in <module>
    assert False, "ungültiger Wert für `berechnung` %r" % berechnung
AssertionError: ungültiger Wert für `berechnung` 'Quadrad'
Wolltest du das die Fehlermeldung kommt, oder habe ich etwas falsch gemacht bei der Eingabe?

Und danke für die Erklärung mit dem Ausdruck, jetzt weis ich auch was das ist, wenn ich es richtig verstanden habe :D
Noch einen schönen Tag, bis dann :)
LG. ss_nase :)
BlackJack

@ss_nase: Die Fehlermeldung ist gewollt. Die sollte Dir nämlich jetzt sagen wo der Fehler liegt. Du prüfst nirgends auf den Wert 'Quadrad'.

(Gibt es eigentlich einen guten Grund warum Du Python 2.5 statt des aktuellen 2.7 verwendest?)
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo BlachJack!

Ich dachte else und elif prüfen die Sachen?
Es gibt einen Grund: Ich lerne mit dem buch Hello World Python programmieren, dort wird die Version 2.5 verwendet (und ich habe erst die hälfte von dem Buch durch, darum bin ich noch nicht wirklich gut)
LG. ss_nase :)
BlackJack

@ss_nase: Schau Dir noch mal *genau* an was im ``elif`` geprüft wird. Da wird *nicht* auf 'Quadrad' geprüft. Denn sonst würde ja der ``else``-Zweig nicht ausgeführt werden.
ss_nase
User
Beiträge: 11
Registriert: Montag 5. August 2013, 22:54

Hallo BlackJack :D

Jetzt habe ich es endlich verstanden, ich hatte einen Rechtschreib Fehler, auf das währe ich ja in 100 Jahren noch nicht gekommen!!!!!!!
Endlich läuft das Programm Fehler los!!!!!
DANKE DANKE DANKE DANKE DANKE DANKE DANKE 1000 mal DANKE!!!!!!!!!
Wirklich danke!!!!!!!!
Ich bin sooooo überglücklich, mein erstes Programm was ich nicht von dem Buch abgeschrieben habe.
Nochmals 1000 mal danke!!!!!!
Wie kann ich Dir denn nur danken?
Ich habe jetzt soooo viel gelernt, wie man auf Fehler drauf kommt, das es an der Rechtschreibung liegen kann usw....

DDDDDDDDDDDDAAAAAAAAANNNNNNNNNNNNNNNNKKKKKKKKKEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!
Naja, da ich mein Programm erweitern werde und noch SEHR viel bei Python lernen muss, wirst Du und andere Leute mir sicher noch öfters helfen :)

Dann wünsche ich dir noch einen schönen Tag :wink:
LG. ss_nase :)
Antworten