BattleCookie hat geschrieben: Samstag 24. November 2018, 17:03
Hallo zusammen,
ich lerne erst seit kurzem Python und habe mich mit einem simplen Taschenrechner versucht:
[...]
Es ist selbst programmiert und über verbesserungsvorschläge oder Ideen wie ich noch andere Funktionen hinzufügen könnte würde ich mich sehr freuen.
[...]
Das Programm tut bei korrekter Eingabe das gewünschte. Das ist gut. Die print-Funktion wird für beide Varianten verwendet un steht deshalb
in einem Programmteil, der von beiden Varianten verwendet wird, anstatt das sie im if-block jeder Variante naufgerufen wird. Das ist gut so.
Hier noch einige Verbesserungsvorschläge:
1. Ausdrucksvollere Variablennamen wären vermutlich 'Zahl1', 'Zahl2', 'Operator',
das wurde schon in einem anderen Post angemerkt.
Aber selbst wenn du deine Namen beibehalten willst, solltest du 'Eingabe1' anstatt der Variablen 'Eingabe' verwenden.
Noch sinnvoller wäre es, die erste Eingabe mit 'Eingabe1' zu bezeichnen, die zweite mit 'Eingabe2', ...
Vermutlich hast du das auch so begonnen, aber da noch keine Auswahl zwischen 'standart' und 'wurzel' gehabt.
Das hast du erst später eingeführt und damit wurde die erste Eingabe zur 'Eingabe0'.
2. Eine Leerzeile nach jeder Zeile Code solltest du unterlassen. Das bringt nichts, außer dass man nur halb soviel
Codezeilen auf den Bildschirm bringt, was das Lesen erschweren kann.
3.. Wenn man nach Start des Programmes liest "Was möchtest du Rechnen? Standart oder Wurzel?: ",
woher soll man nun wissen, was man jetzt eintippen muss? Insbesondere ist unklar, das man die Wörter,
die man jetzt eintippen muss, mit kleinen Anfangsbuchstaben eintippen muss. Das müsste eigentlich schon
im Text zur Eingabeaufforderung klar gestellt werden. Außerdem solltest du die Eingabe für einen Benutzer
einfach machen. Warum muss er ganze Wörter eintippen? Also besser "Was möchtest du Rechnen? [s]tandard oder [w]urzel?: "
oder auch "Was möchtest du Rechnen? Standard(1) oder Wurzel(2)?: Die korrekte Rechtschreibung ist 'Standard', also mit weichem d am Schluss
4. Was passiert eigentlich, wenn der Benutzer eine nicht vorgesehene Eingabe macht. zum Beispiel 'Wurzel' statt 'wurzel'?
Da sollte der Benutzer eine sinnvolle Fehlermeldung bekommen und nicht einen Programmabsturz.
5. Wenn zwischen mehreren Varianten ausgewählt werden kann, sollte, wie ebenfalls in einem anderen Post bemerkt wurde, 'if ... elif ...'
verwendet werden. Das macht es für den Leser wesentlich klarer.
Außerdem kann im else-Zweig dann nicht der Fall einer ungültigen Eingabe behandelt werden.