Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
talit:python_basics_2 [2021-03-11 07:35] – [Aufgabe 3] spstalit:python_basics_2 [2021-06-03 13:02] (aktuell) – [Aufgabe 3] sps
Zeile 34: Zeile 34:
 """ """
 def get_int_value(caption): def get_int_value(caption):
-Diese Funktion zeigt dem Benutzer einen Text (Parameter caption) an und fordert ihn auf, eine Zahl einzugeben. Die Eingabe wird so lange  +Diese Funktion zeigt dem Benutzer einen Text (Parameter caption) an und fordert ihn auf, eine Zahl einzugeben. Die Eingabe wird so lange wiederholt, bis eine gültige Zahl eingegeben wurde oder die Eingabe vom Benutzer mit "q" abgebrochen wurde.
-wiederholt, bis eine gültige Zahl eingegeben wurde oder die Eingabe vom Benutzer mit "q" abgebrochen wurde.+
 Zurückgegeben, wird entweder die Zahl oder q. Zurückgegeben, wird entweder die Zahl oder q.
 Die Funktion soll eine weitere Funktion validate_int() verwenden (s. unten). Die Funktion soll eine weitere Funktion validate_int() verwenden (s. unten).
Zeile 55: Zeile 54:
 """ """
 def validate_int(i): def validate_int(i):
-Diese Funktion überprüft, ob der String i in eine Zahl umgewandelt werden kann. Falls ja, wird sie zurückgegeben;  +Diese Funktion überprüft, ob der String i in eine Zahl umgewandelt werden kann. Falls ja, wird sie zurückgegeben; falls nein, wird ein Fehler zurückgegeben.
-falls nein, wird ein Fehler zurückgegeben.+
  
 Parameter: Parameter:
Zeile 81: Zeile 79:
   * ''e'' verwenden wir für //exponent//, also "Zahl1 hoch Zahl2".\\ 2 e 3 ist 2 * 2 * 2 = 8\\ 2e3 wird in Python mit 2%%**%%3 geschrieben.   * ''e'' verwenden wir für //exponent//, also "Zahl1 hoch Zahl2".\\ 2 e 3 ist 2 * 2 * 2 = 8\\ 2e3 wird in Python mit 2%%**%%3 geschrieben.
   * ''w'' steht für //Wurzel//, also "Zahl2. Wurzel aus Zahl1".\\ 8 w 3 = 2\\ 8w3 wird in Python mit 8%%**%%(1/3) geschrieben.   * ''w'' steht für //Wurzel//, also "Zahl2. Wurzel aus Zahl1".\\ 8 w 3 = 2\\ 8w3 wird in Python mit 8%%**%%(1/3) geschrieben.
 +
 +Für diese Aufgabe benötigen wird drei neue Funktionen:
 +<code python>
 +def get_operator(caption)            # analog zu get_int_value(caption), aber für Operatoren
 +</code>
 +und darin
 +<code python>
 +def validate_op(s)                   # analog zu validate_int(i), aber für Operatoren
 +</code>
 +und schliesslich für die eigentliche Berechnung: 
 +<code python>
 +def calc_result(n1, n2, op)          # untersucht op, berechnet das passende Ergebnis und gibt es zurück
 +</code>
  
 ## Aufgabe 4 ## Aufgabe 4
Zeile 86: Zeile 97:
   * Es werden nun keine einzelnen Zahlen und auch kein Operator mehr abgefragt, sondern nur noch der ganze Ausdruck, zB. 24*13.   * Es werden nun keine einzelnen Zahlen und auch kein Operator mehr abgefragt, sondern nur noch der ganze Ausdruck, zB. 24*13.
   * Es gibt also nur noch eine einzige Eingabe.   * Es gibt also nur noch eine einzige Eingabe.
-  * Das Programm prüft vor der Berechnung, ob der Ausdruck aus zwei Zahlen und einen Operator besteht. Falls nein, wird das erste ungültige Zeichen angezeigt und die Eingabe muss korrekt wiederholt werden.+  * Das Programm prüft vor der Berechnung, ob der Ausdruck aus zwei Zahlen und einem Operator besteht. Falls nein, wird das erste ungültige Zeichen angezeigt und die Eingabe muss korrekt wiederholt werden.
  
 ## Aufgabe 5 ## Aufgabe 5
  • talit/python_basics_2.1615448104.txt.gz
  • Zuletzt geändert: 2021-03-11 07:35
  • von sps