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
gf_informatik:daten_sca:datenverarbeitung_python [2023-05-21 12:18] – [Aufgabe D1] scagf_informatik:daten_sca:datenverarbeitung_python [2025-03-09 06:14] (aktuell) – [JSON] sca
Zeile 6: Zeile 6:
  
 ++++Lernziele| ++++Lernziele|
 +
 +Prüfungsrelevant ist alles, was in den Lektionen und Übungen behandelt wurde. Die Lernziele unten dienen als Gradmesser und sind nicht unbedingt komplett.
  
    * Was ist **Datenverarbeitung**? Mache Beispiele.    * Was ist **Datenverarbeitung**? Mache Beispiele.
    * **Vor- und Nachteile** von Datenauswertung mit Spreadsheets vs. Textfiles und Python    * **Vor- und Nachteile** von Datenauswertung mit Spreadsheets vs. Textfiles und Python
-   Vorgehen bei Datenverarbeitung mit Python+   Strings in Zahlen (int und float) umwandeln und umgekehrt. 
 +   * Unterschiede von ints und floats kennen und wissen, wann man welche verwenden soll.
    * Erkläre was **Textfiles** und **Binärfiles** sind, vergleiche diese und mache Beispiele.    * Erkläre was **Textfiles** und **Binärfiles** sind, vergleiche diese und mache Beispiele.
    * Textdateien in Python **einlesen** und **schreiben** können.    * Textdateien in Python **einlesen** und **schreiben** können.
-   * Daten mit Python **verarbeiten** können, z.B.: alle Werte durchgehen, mit diesen Rechnen, in neuer Form speichern ...+   * Daten mit Python **verarbeiten** können, z.B.: alle Werte durchgehen, mit diesen Rechnen, in neuer Form speichern. 
 +   * **Textdateiformate CSV & JSON**: 
 +     * Beide Einlesen und Schreiben können. 
 +     * Bedeutung von CSV und JSON kennen. 
 +     * Miteinander vergleichen: Vor- und Nachteile? 
 +   * **Dictionaries:** 
 +     * Wissen, sie sind und wie sie aufgebaut sind. 
 +     * Mit ihnen arbeiten können (Values auslesen, neue Einträge, löschen , alle Keys oder Werte durchgehen ...) 
 +     * Dictionaries mit Listen vergleichen können. 
 +     * Verbindung Dictionaries <-> JSON erklären. 
 +     * JSON-File als Dictionary einlesen, Dictionary als JSON-File speichern 
 +   * Situationen erkennen, in denen man **Try-Except** anwenden kann ... 
 +   * ... und anwenden 
  
 ++++ ++++
Zeile 433: Zeile 449:
  
  
-===== - Dictionaries =====+===== - Dictionaries & JSON =====
  
 ==== Theorie ==== ==== Theorie ====
Zeile 476: Zeile 492:
 </code> </code>
  
-Mit `fruits.keys()` und `fruits.values()` kann man *Listen* aller Keys resp. Values erstellen. Dies kann man nutzen, um alle **Key-Value-Paare** systematisch durchzugehen:+Mit `fruits.keys()` und `fruits.values()` kann man alle **Key-Value-Paare** systematisch durchzugehen:
 <code python> <code python>
 # Option 1 # Option 1
Zeile 485: Zeile 501:
 for key,value in fruits.items(): for key,value in fruits.items():
     print(key,value)     print(key,value)
 +</code>
 +Die Befehle `.keys()` und `.values()` erstellen "dict_key" Objekte (zumindest in neueren Python Versionen). Möchte man aber eine **Liste mit allen Keys oder Values** eines Dicts haben, muss man diese mit der `list()`-Funktion noch in solche umwandeln:
 +
 +<code python>
 +key_list = list(fruits.keys())
 +value_list = list(fruits.values())
 </code> </code>
  
Zeile 558: Zeile 580:
  
 # SCHREIBEN von JSON-File # SCHREIBEN von JSON-File
-with open('my_file.json', 'w') as json_file: +with open('my_file.json', 'w', encoding='utf-8') as json_file: 
-    json.dump(data, json_file, indent=4) # indent: Anz. Leerschlaege zum Einruecken+    json.dump(data, json_file, indent=4, ensure_ascii=False) # indent: Anz. Leerschlaege zum Einruecken
 </code> </code>
  
Zeile 586: Zeile 608:
  
    1. Erstelle zuerst ein Dictionary `word_pairs`. Der Key ist immer das Deutsche Wort (z.B. 'Katze') und der Value die englische Übersetzung ('cat'). Füge deinem Dictionary mindestens zehn solche Key-Value-Paare hinzu.    1. Erstelle zuerst ein Dictionary `word_pairs`. Der Key ist immer das Deutsche Wort (z.B. 'Katze') und der Value die englische Übersetzung ('cat'). Füge deinem Dictionary mindestens zehn solche Key-Value-Paare hinzu.
-   1. Gehe nun einmal das Dictionary durch (*Tipp:* In der Theorie oben wird erklärt, wie man ein Dict durchgehen kann.). Fordere die Benutzerin auf, das deutsche Wort auf englisch zu übersetzen.+   1. Gehe nun einmal das Dictionary durch (*Tipp:* In der Theorie oben wird erklärt, wie man ein Dict durchgehen kann.). Fordere die Benutzerin auf, das deutsche Wort auf Englisch zu übersetzen.
    1. Die Eingabe wird dann mit der korrekten Antwort verglichen ...    1. Die Eingabe wird dann mit der korrekten Antwort verglichen ...
    1. ... und es wird eine entsprechende Ausgabe gemacht, z.B. "Antwort korrekt", "Antwort leider falsch".    1. ... und es wird eine entsprechende Ausgabe gemacht, z.B. "Antwort korrekt", "Antwort leider falsch".
Zeile 616: Zeile 638:
      1. Nach jeder Frage soll man abbrechen können. Aktueller Stand wird dann in JSON-File geschrieben. Lösche keine Wörter aus dem File.      1. Nach jeder Frage soll man abbrechen können. Aktueller Stand wird dann in JSON-File geschrieben. Lösche keine Wörter aus dem File.
      1. Soll am Anfang des Spiels den Progress zurücksetzen können, damit man alle Wörter wieder lernen kann.      1. Soll am Anfang des Spiels den Progress zurücksetzen können, damit man alle Wörter wieder lernen kann.
 +     1. Implementiere eigene Features.
  
  
Zeile 628: Zeile 651:
 == Teil I == == Teil I ==
  
-Lese den Gemeinden-Datensatz von weiter oben ein und speichere die Daten in eine, Dictionary mit der folgenden Form:+Lese den Gemeinden-Datensatz aus dem CSV-File von weiter oben ein und speichere die Daten in einem **Dictionary** mit der folgenden Form:
 <code json> <code json>
 { {
Zeile 671: Zeile 694:
 ===== Lösungen ===== ===== Lösungen =====
  
-++++Auftrag A|+<nodisp 2> 
 + 
 +++++Lösungen A|
  
 === Aufgabe A1 === === Aufgabe A1 ===
Zeile 776: Zeile 801:
 ++++ ++++
  
-++++Auftrag B|+++++Lösungen B|
  
 === Teil I === === Teil I ===
Zeile 915: Zeile 940:
     writer.writerows(data) # Write the data to the CSV file     writer.writerows(data) # Write the data to the CSV file
 </code> </code>
- 
-++++ 
- 
-++++Auftrag B (II)| 
- 
-<nodisp 2> 
  
 === Teil IV === === Teil IV ===
Zeile 1003: Zeile 1022:
     writer.writerows(data) # Write the data to the CSV file     writer.writerows(data) # Write the data to the CSV file
 </code> </code>
- 
-</nodisp> 
  
 ++++ ++++
Zeile 1010: Zeile 1027:
  
 ++++Lösungen C| ++++Lösungen C|
- 
-<nodisp 2> 
  
 === Teil I === === Teil I ===
Zeile 1112: Zeile 1127:
     txt_file.write('   * Gemeinden mit grösster identischer Anz. EW: ' + inhabitants_max_double_towns[0] + ' und ' + inhabitants_max_double_towns[1] + '\n')     txt_file.write('   * Gemeinden mit grösster identischer Anz. EW: ' + inhabitants_max_double_towns[0] + ' und ' + inhabitants_max_double_towns[1] + '\n')
 </code> </code>
- 
-</nodisp> 
  
 ++++ ++++
Zeile 1119: Zeile 1132:
  
 ++++Lösungen D| ++++Lösungen D|
- 
-<nodisp 2> 
  
 ==== Aufgaben D1 ==== ==== Aufgaben D1 ====
Zeile 1306: Zeile 1317:
 print(count) print(count)
 </code> </code>
- 
-</nodisp> 
  
 ++++ ++++
  
 +</nodisp>
  • gf_informatik/daten_sca/datenverarbeitung_python.1684671482.txt.gz
  • Zuletzt geändert: 2023-05-21 12:18
  • von sca