lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge3

This is an old revision of the document!


JSON-Dateien

  • JSON-Dateien sind ebenfalls Text-Dateien, in denen ebenfalls strukturierte Information gespeichert werden kann, und zwar in der JavaScript Object Notation, kurz JSON.
  • JSON-Dateien können sehr einfach in Python importiert werden und dann verarbeitet werden.
  • JSON kennt u.a. folgenden Datentypen:
    • Zahlen
    • Strings (Zeichenketten, zwischen Anführungszeichen
    • Listen (zwischen [ und ]), die wieder JSON-Datentypen enthalten kann.
    • Dictionaries (zwischen { und }). Diese sind wie Listen, aber mit beliebigen Strings anstatt Zahlen als Indizies.

Testen und verstehen Sie (Zeile für Zeile!) folgendes Python-Programm:

primzahlen = [2,3,5,7,11,13,17,19,23]
for p in primzahlen:
  print("%d ist prim!" % p)
 
# Indizies starten bei 0!
print("Die zweite Primzahl ist %d" % primzahlen[1])
 
csv = ""   # Leere Zeichenkette
for p in primzahlen:
  csv += "%d;" % p
csv+="\n"   # Zeilenumbruch
print(csv)
  • Listen werden zwischen [ und ] durch Kommas getrennt geschrieben.
  • Zugriff auf einzelne Elemente erfolgt mit z.B. a[2] (drittes Element der Liste, die in der Variablen a gespeichert ist).
  • Mit Format-Strings können Dinge wie Zahlen formatiert ausgegeben werden. Das Format ist
print("bla %d bla" % 5)      # <- %d wird durch 5 ersetzt, man erhält "bla 5 bla"
print("x=%d, y=%d" % (23,42))  # <- das erste %d wird durch 23, das zweite durch 42 ersetzt, man erhält "x=23, y=42".
  • Listen können auch wieder Listen enthalten:
tabelle = [[1,2,3],[4,5,6]]
print(tabelle[0])  # erstes Element ist die Liste [1,2,3]
print(tabelle[0][1])  # zweites Element der Liste [1,2,3], also 2.

Vervollständigen Sie folgenden Python-Code, so dass er die Tabelle im CSV Format ausgibt:

tabelle = [[x*y for x in range(1,6)] for y in range(1,6)]
csv = ""
 
#
#  Hier die Variable csv erweitern
#
 
# Ausgabe
print(csv)

Die Ausgabe soll wie folgt aussehen:

1;2;3;4;5;
2;4;6;8;10;
3;6;9;12;15;
4;8;12;16;20;
5;10;15;20;25;
  • lehrkraefte/blc/informatik/glf4-20/umgang-mit-dateien/challenge3.1614021193.txt.gz
  • Last modified: 2021/02/22 20:13
  • by Ivo Blöchliger