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-02-06 18:24] – [Einstieg nach einem Semester IF GF] spstalit:python_basics_2 [2021-06-03 13:02] (aktuell) – [Aufgabe 3] sps
Zeile 1: Zeile 1:
-# Python Basics 2+# Python Basics 2021 
 ## Einstieg nach einem Semester IF GF ## Einstieg nach einem Semester IF GF
  
Zeile 19: Zeile 20:
   * Um den TR zu verlassen, kann der Benutzer statt einer Zahl den Buchstaben q (für 'quit') eingeben.   * Um den TR zu verlassen, kann der Benutzer statt einer Zahl den Buchstaben q (für 'quit') eingeben.
   * Zudem soll das Programm jetzt sicherstellen, dass der Benutzer auch wirklich Zahlen eingibt. Sobald er etwas anderes eingibt, soll es wieder bei der Eingabe der ersten Zahl anfangen. Das Programm darf bei falschen Eingaben nicht mehr abstürzen!   * Zudem soll das Programm jetzt sicherstellen, dass der Benutzer auch wirklich Zahlen eingibt. Sobald er etwas anderes eingibt, soll es wieder bei der Eingabe der ersten Zahl anfangen. Das Programm darf bei falschen Eingaben nicht mehr abstürzen!
 +
 +## Zwischenaufgabe: Funktionen
 +  * In Aufgabe 2.2 wird ein wesentlicher Teil des Codes in Funktionen ausgelagert. Hier gibt es einige Zusatzaufgabe für mehr Routine mit Funktionen.
 +  * Lege in deinem Talit-Ordner einen neuen Ordner //Funcs// an.
 +  * Lade diese {{talit:funcs.zip|ZIP-Datei}} herunter und entpacke die beiden Dateien darin in den Ordner //Funcs//.
 +  * Die Aufgaben stehen als Kommentare in //funcs.py//.
 +  * Wir lösen die erste Aufgabe gemeinsam.
  
 ## Aufgabe 2.2 ## Aufgabe 2.2
-  * falls du das nicht eh schon gemacht hast, ist das die nächste Aufgabe: Prüfung und erneute Abfrage bei falscher Eingabe soll in einer (oder mehrerenFunktionen erfolgen, die dann im Hauptprogramm für jetzt Zahl einmal aufgerufen wird.+  * falls du das nicht eh schon gemacht hast, ist das die nächste Aufgabe: Prüfung und erneute Abfrage bei falscher Eingabe soll in einer Funktion ''get\_int\_value()'' erfolgen, die dann im Hauptprogramm für jede Zahl einmal aufgerufen wird. 
 + 
 +<code python> 
 +""" 
 +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 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. 
 +Die Funktion soll eine weitere Funktion validate_int() verwenden (s. unten). 
 + 
 +Parameter: 
 +caption     String, der dem Benutzer für die Eingabe angezeigt wird 
 + 
 +Rückgabewerte: Integer, Boolean 
 +num     eingegebene Zahl, wenn quit False ist 
 +quit    True    Benutzer hat mit "q" abgebrochen 
 +        False   Zahl steht in num 
 +""" 
 + 
 + 
 +def get_int_value(caption): 
 +    pass 
 + 
 + 
 +""" 
 +def validate_int(i): 
 +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. 
 + 
 +Parameter: 
 +i       String, der in eine Zahl umgewandelt werden soll 
 + 
 +Rückgabewerte: Integer, Integer 
 +num     ermittelte Zahl, bzw. 0 bei Fehler 
 +err       kein Fehler, Zahl ermittelt 
 +        -1  Fehler, String i enthält Zeichen, die nicht in Zahlen umgewandelt werden können 
 +""" 
 + 
 + 
 +def validate_int(i): 
 +    pass 
 +</code> 
  
 ## Aufgabe 3 ## Aufgabe 3
   * In der nächsten Version werden weiterhin zwei Zahlen eingegeben, aber neu ist, dass auch der Operator eingegeben werden kann/muss.   * In der nächsten Version werden weiterhin zwei Zahlen eingegeben, aber neu ist, dass auch der Operator eingegeben werden kann/muss.
   * Es werden also nicht mehr einfach Summe und Produkt berechnet, sondern der Benutzer gibt die Operation vor, und es wird anschliessend nur noch genau diese Operation berechnet und ausgegeben.   * Es werden also nicht mehr einfach Summe und Produkt berechnet, sondern der Benutzer gibt die Operation vor, und es wird anschliessend nur noch genau diese Operation berechnet und ausgegeben.
-  * Erlaubte Operatoren sind: + - * / % e w +  * Erlaubte Operatoren sind: ''+ - * / % e w'' 
-  * + - * / dürften klar sein +  * ''+ - * /'' dürften klar sein 
-  * % bedeutet //modulo// und berechnet den Rest der ganzzahligen Division. 7 / 3 = 3 Rest 1, somit 7 % 3 = 1In Python verwendet man dafür ebenfalls den Operator %. +  * ''%'' bedeutet //modulo// und berechnet den Rest der ganzzahligen Division.\\ 7 / 3 = 3 Rest 1, somit 7 % 3 = 1\\ In Python verwendet man dafür ebenfalls den Operator %. 
-  * e verwenden wir für //exponent//, also Zahl1 hoch Zahl22 e 3 ist 2 * 2 * 2 = 8 +  * ''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 Zahl18 w 3 = 2+  * ''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
-  * Nun kommen wir dem Taschenrechner ein schönes Stücknäher...+  * Nun kommen wir dem Taschenrechner ein schönes Stück näher...
   * 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.1612635896.txt.gz
  • Zuletzt geändert: 2021-02-06 18:24
  • von sps