Zum Inhalt

Array

In der vorherigen Lektion haben wir Schleifen kennengelernt, um Befehle mehrmals auszuführen. Aber was, wenn wir mehrere verschiedene Werte speichern und weiterverarbeiten möchten?

Beispiel 1: Verschiedene Werte in einer Schleife fürs Zeichnen verwenden (Array-Iteration)

Wenn wir z.B. drei verschiedene Farben nacheinander zum Zeichnen verwenden wollen:

  • Ohne Arrays: brauchen wir drei Variablen farbe1, farbe2 und farbe3, dabei eine Schleife zu verwenden wird etwas kompliziert.
  • Mit Arrays: brauchen wir nur eine Variable farben mit drei Elementen und können eine Schleife verwenden!

Arrays (Felder) ermöglichen uns, mehrere zusammengehörige Werte elegant zu verwalten und mit Schleifen zu verarbeiten.

Es wird hier gezeichnet...

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Question

Ändere das obige Programm so ab, dass zuerst ein blauer Punkt gezeichnet wird.

Stell dir zum Beispiel vor, du möchtest die grösste Zahl unter vier Kandidaten finden. Mit unserem bisherigen Wissen müsstest du für jede mögliche Kombination eine eigene Bedingung formulieren: der Code würde schnell unübersichtlich und fehleranfällig. Genau genommen müsstest du bei einer naiven Lösung insgesamt \(8\) Fälle berücksichtigen und Verzweigungen dazu schreiben.

Um solche Situationen eleganter zu lösen, machen wir einen Schritt der Abstraktion: Anstatt jede Zahl einzeln zu betrachten, fassen wir mehrere Werte in einer geordneten Sammlung zusammen; so, als würden wir sie nebeneinander in ein Regal stellen. In der Programmierung nennt man eine solche Struktur ein Array (im Deutschen auch „Feld“ genannt).

Fachbegriff: Array

Ein Array ist ein (Daten-)typ, der es uns ermöglicht, viele Elemente als Einheit zu behandeln. Es hat eine bestimmte Grösse (die Anzahl gespeicherter Elemente) und erlaubt uns, auf jedes einzelne Element gezielt zuzugreifen. Damit können wir Probleme viel kompakter und allgemeiner lösen, unabhängig davon, ob wir 4, 40 oder 400 Zahlen/Buchstaben/Bilder/... usw. verarbeiten wollen.

Definition

Arrays sind im Grunde genommen auch Variablen und zwar vom Typ "Array". Arrays kommen mit ihrer eigenen Syntax und auch mit neuen Sonderzeichen. An den eckigen Klammern \([]\) erkennen wir Arrays. Um ein neues Array zu definieren können wir die zwei Klammer direkt als den "Wert" verwenden, genauso wie bei allen anderen Variablendefinitionen.

neues_ArrayA = []

Wenn nichts innerhalb der Klammern steht, ist das Array erstmals leer, d.h es hat keine Elemente.

Um einem Array direkt bei der Definition mit Elementen zu füllen, können wir sie innerhalb der eckigen Klammern, durch Komma getrennt auflisten.

neues_ArrayB = [4,3,9,1]

Dieses Array enthält nun vier Elemente, und zwar die Zahlen \(4\), \(3\), \(9\) und \(1\).

Grösse

Bei einem eindimensionalen Array, also solche wie vorhin vorgestellt wurden, sagen wir für die Grösse eines Array auch "Länge". Dementsprechend heisst die Funktion um die Grösse von einem Array zu ermitteln: len().

grösse = len(neues_ArrayB)
print("Die Grösse vom Array ist: ", grösse)

In diesem Beispiel wir nun die Grösse vom Array neues_ArrayB ausgegeben, d.h es erscheint \(4\) in der Ausgabe, da das Array insgesamt vier Elemente besitzt.

Zugriff

Einzelnes Element

Um auf ein einzelnes Element zuzugreifen verwenden wir auch die eckigen Klammern. Wenn die Klammern direkt nach dem Namen der Variable steht, bedeutet dies den Zugriff auf ein Element. In diesem Fall muss innerhalb der Klammer ersichtlich sein, welches Element wir genau wollen. Die Zahl oder den Term innerhalb der Klammer bezeichnen wir als Index.

neues_ArrayB[1]

Hier wird auf das Element mit dem Index \(1\) zugegriffen . Wichtig ist hierbei, dass der Index bei \(0\) beginnt. Darum ist das Element mit Index \(1\) in diesem Fall die Zahl \(3\), (als Erinnerung: neues_ArrayB enthält [4,3,9,1]). Wenn wir dieses Element nun ausgeben, wird eine \(3\) in der Ausgabe erscheinen.

print(neues_ArrayB[1])
Question

Erstelle eine Variable vom Typ Array mit mehreren Zahlen als Inhalt. D.h. Die Variable enthält danach mehrere Zahlen.

  • Gib das erste Element aus
  • Gib die Anzahl Elemente aus
  • Gib das letzte Element aus

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Lösung
einPaarZahlen = [4,3,2,1,7]
print("Erstes Element: ", einPaarZahlen[0])
print("Anzahl: ", len(einPaarZahlen))
print("Letztes Element: ", einPaarZahlen[len(einPaarZahlen)-1])

Modifizieren

Bis jetzt haben wir Arrays einmal erstellt und sie dann so belassen. Aber diese Datenstrukturen können wir auch während der Programausführung modifizieren.

Beispiel 1: Element in Array modifizieren

Wir können ein bestehendes Array direkt mit den eckigen Klammenr [ ] modifizieren. Wir können das einzelne Element somit wie eine Variable behandeln.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Beispiel 2: Element zu Array hinzufügen

Bei bestehenden Arrays können wir beliebig viele Elemente anhängen. Dazu schreiben wir den Namen vom Array gefolgt von .append( NEUER_WERT ). Innerhalb der zwei Klammern geben wir den gewünschten Wert an.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Mit Arrays rechnen

Question

Addiere den Wert vom ersten Element zum Wert vom zweiten. Speichere das Ergebnis im dritten Element. Gib den ganzen Array am Schluss aus.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshft2lv1760g3n[dbc+pmo(ari=])/wyzL,45 u050s0c0g0A0C0i0d0O0u0i0A0d0d0D010g0C0w010406050d0P0x0x0A0B0I040K0b0;0q0o050G0;0?0^0`0/0w040518111b0G180/0s0C0j0Y0!0$0(0e0C0o0e0i1p0e0g0-050T0t0i0c1k0#0%011o1q1s1q0g1y1A1w0g0B190g0e0Y0y0W0w0A0q0(0h011C1m010f0V0c0q0A0x0c1w0d1W0q1$1E1)1A1,1.0-0a0O0|0~0o0d0j0y0B0d0u1r0A10121=190G1R2e1O1Q1P1x0s1@0(1s0q1+0y0d1w1h1j0Z1D2o0C2q0q0y2v1w0w0B0c191;1X2e2K0q2J1=2n012C0B0@0i0-0k112N0.0:2Q2x1%2T2V0-0h2Z2d0/2N2R2*0A2W040p2.2L2:2%1l1E2?2^0M2{2O2}1X2=252+040N342#2;2(30392@0-0m3d361?3g0(310-0l3d1c2H2e2v2h0s1Q2m3p010u2D1/193y1a3w2$2L3u3F0R2P373D0q0-0J0A1r1+3d0O3M3o2 0(0y0-0D3!3$2R0,040r3u3f3(010x0C0-332c3N3@2y013:0L3-401%3`0-3c3~2O3.3D43452~4148043l4b3R3%413:0E3m3n2=0-0c260g0c0d4g3S3^3*043,4m3#46303V3X1`3?4h1%3:3=4m4d3^4j0n4O4C4p0-4r4m4t3T3V0H0c0C4y4A4H4U414E4G2!4I4P4K043W3Y0q4Y4o4Q0-4S2!4;473{042Y4T4J0(4q3m564{131.4B511E4?5k4u044w0d4.5o3D4E0v5u3^3U4|4+4-4z5f5c2S4L4~503/535K3D4j2-5b4`5d4#5y4=3+5V2)0-5i0c5F5S2S0t0-2G2A0g5N3^3:0z5/415A5#5?52040F5f0G3P2I3v610G3J2f3A112i680A1z633y0/640S0U0W04.
Lösung
1
2
3
4
5
6
7
zahlen = [4, 5, 6]

erstes = zahlen[0]
zweites = zahlen[1]
summe = erstes + zweites
zahlen[2] = summe
print(summe)

Mehrere Elemente: Iteration

Häufig wollen wir alle Elemente eines Arrays nacheinander verwenden. Dies ist eine weitere Anwendung für das Konzept Schleife Wir können dazu eine Variante der for-Schleife verwenden.

Mit dem Index können wir ein einzelnes Element auslesen. Wenn wir auf alle Elemente nacheinander zugreifen wollen, müssen wir also den Index hochzählen, bis wir alle Elemente durchnummeriert haben.

Beispiel 1: Array-Iteration

ein_paar_zahlen = [8,2,3]
for i in range(3):
    zahl = ein_paar_zahlen[i]
    print(zahl)

Überlege dir zuerst was die Ausgabe von diesem Programm sein könnte! Probiere es nun aus:

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

Weitere Aufgaben

Vorhandensein eines Elements im Array überprüfen

Question

Schreibe ein Programm, welches überprüft ob ein Element in einem Array vorhanden ist. Ist der Wer der Variable gesuchteZahl in dem Array zahlen vorhanden? - du brauchst die for i in range(..)-Schleife. - du brauchst die Länge des Arrays

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshq;9ft2lv176g3n[dbcpmo(ari=])/wyZ:jzL,k45 u050u0c0j0B0D0l0d0T0w0l0B0d0d0E010j0D0x010406050d0U0y0y0B0C0J040O0b0_0s0q050H0_0{0}0 0@0x04051d161g0H1d0@0u0D0m0%0)0+0-0e0D0q0e0l1u0e0j0=050Y0v0l0c1p0*0,011t1v1x1v0j1D1F1B0j0C1e0j0e0%0z0#0x0B0s0-0k011H1r010i0!0c0s0B0y0c1B0d1#0s1+1J1.1F1;1?0=0a0T11130q0d0m0z0C0d0w1w0B15171`1e0H1W2j1T1V1U1C0u1|0-1x0s1:0z0d1B1m1o0(1I2t0D2v0s0z2A1B0x0C0c1e1_1$2j2P0s2O1`2s012H0C0|0l0=0n162S0?0^2V2C1,2Y2!0=0k2(2i0@2S2W2/0B2#040r2?2Q2^2,1q1J2{2}0R302T321$2`2a2:040S392*2_2-353e2|0=0p3i3b1{3l0-360=0o3i1h2M2j2A2m0u1V2r3u010w2I1@1e3D1f3B2+2Q3z3K0W2U3c3I0s0=0N0B1w1:3i0T3R3t340-0z0=0E3)3+2W0;040t3z3k3-010y0D0=382h3S3|2D013^0P3{33463 2;4a3X3}484f3,4c40043y432T3?3I4i4p3W4k1,4d042%4u4r4h0=494B454x4m0h4j3@0=0F3r4C463Z040q0c0_2d0j0c0K3$0l3=4H1J3/043;4u3*4(0-4y4o2)063s2W0Q0=0i2a4%4b2.0=0D4~4g460z0I510s534w350v0=0C1$4U4L4s0=0A5i3}4y3h4G4 1J3^0G0L3r060T5y4.5r0-4`040D0i5a2`3!4#3(5q541,3^3`5M5b3v515m463^4O4-4Q1,4*0E4,2)5A5N350=4U4W1z4Z4#5V5O0=5v4u5x5z5|5!5c0=2L2F0j5?5s5k640-0d1)04020f0U0z0j0g0M0B0P0T4U0i0U0s0W0s6c6e6g67470=0G4P0H3U2N3A6C0H3O2k3F162n6J0B1E6E3D0@6F0X0Z0#04.
Lösung
1
2
3
4
5
6
7
zahlen = [4,2,7,1,9]
gesuchteZahl = 7

for i in range(5):

    if zahlen[i] == gesuchteZahl:
        print("ja, gefunden")

Grösstes Element in einem Array

Question

Schreibe ein Programm, welches das grösste Element aus einem Array heraussucht.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeuhq9tl3AdIVcmo(a]?:L{5D ü2äs;fR1v760}gn[Wbpri=)/wyEP,k.S48050l0c0h0s0V0i0E0A0o0i0s0E0E0W010h0V0T010406050E0d0p0p0s0U0!040w0b170P0O050Y17191b1d150T04051r1k1u0Y1r150l0V0J0^0`0|0~0e0V0O0e0i1I0e0h13050:0S0i0c1D0{0}011H1J1L1J0h1R1T1P0h0U1s0h0e0^0q0?0T0s0P0~0C011V1F010G0=0c0P0s0p0c1P0E1?0P1|1X1 1T2224130a0A1f1h0O0E0J0q0U0E0o1K0s1j1l281s0Y1.2x1+1-1,1Q0l2a0~1L0P210q0E1P1A1C0_1W2H0V2J0P0q2O1P0T0U0c1s271@2x2%0P2$282G012V0U1a0i130A0I1k2*14162-2Q1}2:2=2@0C2`2w152*2.310s2?040A0j352(372~1E1X3a3c0A0+3g2+3i1@392o323d0y3q2|382 3l3v3b2@0L3z3s293C0~3m2@0K3I2}3t3L2/3E3n0,3Q3B3k3M3V2@0g3Y3j2R3U2;3F040I0M3)3S3!3,3w0I2_2v3h3R3K3@3N3/343|3r3~3u3-3c0I3f443A3*303$3/3p4c3J473_3y4j463T410I3H4o3Z3+4r3P4u4e3D48130I3X4z3?4w4g0I3(4G3 4I4C040C3;4M4l3.0C3{2{4k4q4g0C432{1v2!2x2O2A0l1-2F3T0o2W251s4,1t4*3~2)2w054=0.2,4H3013242T0k0U0U0s0!3z0A4p3@0q130W5d5f3+12040Q3z5l1}0p0V134i4(4v1}5n0%5q5y1X5t134%4~5D0~5A5C4A0~5F044y5x5N015L4c5r5E5u3/5M531X5V5S5$5O5Z4L5)4N5z130t3I4Z3@0o0I13030A0n2o0O0c0e210v0A0V2r0A0S5a0d2r1U0c2T210A020f0d0q0h0F0n0c0U0O1T660e0E0Z6p0h6i6k6m0A0r0O0X3=5/1X5_5{0A0z0V0c0E6p0A0Z0V0U2F5t0h0A3b2d0A0#1T240P0h6g0s0d0@0.0p0A585a0!0A0J6p6r6t216G2.6J045|0*0q0S3b2F6e290O0U1g6P2!0@6$0c6(6X3b0@56290s0(0h0d0c0i1T0U0A0R6x6C6E6~4;5`710A600G0d0P0.296S6U0%0A2J0e2465671A6O6g2J7r296z6l0F7a7c6*297x0U6y6j7$6Y0?7B5^7D5|6o6q6s2r6v7y0G0B7v7K0A0H6O6X2n6:0$0U0q7a230p5?5X0~707_6`7|6u6w7-6Y6:0k0P0G1@0O0A0W0A6p0E6*7f6%210h7?4w132u2{5e5J015h045j4c8M5T0P55786=5b5#6H5K135p5W8N5P4S5.2.5n5=4j5@3+8j7w6T6^8l6e6c790A6W7;6!7g7i6}4T7C6K8w7M2F0S6e6:8A7*6L0d0U2r0O8v8 0V6X0E6t0A6P0i0S8B8`7{6|0P5B967@6K0s9c826N0@0V9w6_0U222r0i0D0|1I750U0)8H1}8@6M6O0A0(0b0P6)1U9M1H7J7y8o830l9i2r640G2o6565295a1i0c0r0I7O2d0r7m8Y0!0X0X0v9X1X0(139_0U5k8N8V040Vai5T0q0Z132Tan5*2/0S139~608!8.130raA4qaw042daE3@5naD8)8U8W57598ZaNau5na9ab8;0AaZ8Tau8@0m9w0l0{6Y7p7r7t1U938F7F7b0|6Q7k8 785}8{6t7~7-0u3Ia!a#8#01aeal0Gatb6aka6aR5caTb65n8(8-4qaraJ5m5;bb2.8P020O6mbrbm048K5I5T5naX4Yb4b48h2/8Jbx5g5ibL8I04be6?bo5:5obT3lbnbhaB048:4Y8=30aG2Z2T8GbZ3TaLbW0~0E0safb;010E1`047#6m0za+7(0|6*6#8E6)659wb_9q130xb_akbA2(bIcb040Ncab|b~0Fb_aV3Q0Y502#4)cv0Y4_2y4.1k2BcC9F1T4+1B2|cy0/0;0?04.
Lösung
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
meinArray = [4,2,7,1,9]

# Vorgehen: ich brauche einen "Vergleichswert" (g)
# Dieser wird mit allen Elementen aus dem Array verglichen
# Sobald ein grösseres Element als mein aktueller Wert (g)
# gefunden wird, nehme ich diesen neuen "grössten Wert" als
# Vergleichswert für den Rest vom Programm

# Vergleichswert am Anfang = erstes Element
g = meinArray[0]

# Wir vergleichen g mit allen Elementen
# g wird beim ersten Durchgang mit sich selbst verglichen,
# aber dies ist vernachlässigbar.
# Dies könnte verhindert werden durch: for i in range(1, len(meinArray)):
for i in range(len(meinArray)):

    # Ist das aktuelle Element grösser als mein Vergleichswert?
    if meinArray[i] > g:
        g = meinArray[i]

print(f"Das grösste Element ist {g}")

Durchschnitt aller Zahlen in einem Array

Question

Schreibe ein Programm, welche das arithmetische Mittel aller Elemente (Zahlen) von einem Array aus Zahlen berechnet. Dazu dividierst du die Summe aller Zahlen durch deren Anzahl.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshq;98ft2lv1760g}3nAd[bc+pmo(ari=])/wy:L,{kM45D u050x0c0k0G0I0m0d0Y0A0m0G0d0d0J010k0I0C010406050d0Z0D0D0G0H0O040Q0b0~0v0s050M0~1012140|0C04051i1b1l0M1i0|0x0I0n0,0.0:0=0e0I0s0e0m1z0e0k0`050%0z0m0c1u0/0;011y1A1C1A0k1I1K1G0k0H1j0k0e0,0E0*0C0G0v0=0l011M1w010j0)0c0v0G0D0c1G0d1*0v1:1O1?1K1_1{0`0a0Y16180s0d0n0E0H0d0A1B0G1a1c1 1j0M1#2o1Y1!1Z1H0x210=1C0v1^0E0d1G1r1t0-1N2y0I2A0v0E2F1G0C0H0c1j1~1+2o2U0v2T1 2x012M0H110m0`0Y0o1b2X0{0}2!2H1;2%2)2+0l2.2n0|2X2#2^0G2*040Y0u2|2V2~2=1v1O31330Y0V372Y391+302f2_340W3h2:2 2?3c3m322+0q3q3j203t0=3d2+0p3z2;3k3C2$3v3e0i3H3s3b3D3M2+0h3P3a2I3L2(3w040o0r3W3J3R3Z3n0o2-2m2V1m2R2o2F2r0x1!2w3K0A2N1|1j3^1k3?3I2Y3q053~0#2Z3*3Y0v0`1{2K0w0H0H0G0O3q0Y452#0E0`0J4n4p3K0_040y473Q3Y0D0I0`3/2/4v3+4x0R4A3X1;4D4F4M4c1;4K4R3B3+4P3$4V2#4x0K3z3A300`1d1{4u4B1;4r044t3:2Y4o4/1O4Y3(4@3r4N3c0`0v4.500=4;4?2/4_552$0z0`244!4w0`0F5g3+4e044g0v4i4k4m4~4I3Y4x0L3)4W3Y0T0`0j2f544S51040I5F5z4:0N0`2K5K305d044k190c5k5v5i5X2@525!1O5w0P3z0Y5,5a5G3D4+0 4-4~5.5L1O575Q3K5m4,5W5@5u4:0`0B5|5l4f0c4h4j4l5%0=4x4z5t4`5:5I6d014$4(4)5}4f0I1U0c0m0N0c0H0k663Y5{616i2$5;106059625`0`0M6A5#04534~066p5l5S2Q2K6z6h5b4x5j6!5/010d0G5C6l0d1.04020f0Z0E0k0g0X6x0Y0U6s0k6u6w6y0Y2e206.4E040S6l5m5o5q6c6(5_0=0d780t6.6:0Y0I0d0k4o7g2#7j0`7a7t6q5n6 716x6Z4H6E7v047l7y3+6/0`6=6@6_6l5w3H0M492S3=7W0M422p3`1b2s7%0G1J7Y3^0|7Z0$0(0*04.
Lösung
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
meinArray = [1,1,1]

summe = 0
n = len(meinArray)
for i in range(n):
    summe = summe + meinArray[i]


mittelwert = summe / n

print(f"Der Mittelwert von {meinArray} ist {mittelwert}")

Array befüllen

Question
  • Erstelle eine Variable vom Typ Array.
  • 'Fülle' das Array mit den Zahlen von 0 bis 20.
  • gib das Array mit print aus

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshft2lv1g3n[dbcpmo(ari=])/wy:zLk.45 u050p0c0g0w0y0i0d0M0r0i0w0d0d0z010g0y0s010406050d0N0t0t0w0x0E040H0b0/0n0l050C0/0;0?0^0-0s0405160 190C160-0p0y0j0W0Y0!0$0e0y0l0e0i1n0e0g0+050R0q0i0c1i0Z0#011m1o1q1o0g1w1y1u0g0x170g0e0W0u0U0s0w0n0$0h011A1k010f0T0c0n0w0t0c1u0d1U0n1!1C1%1y1*1,0+0a0M0`0|0l0d0j0u0x0d0r1p0w0~101:170C1P2c1M1O1N1v0p1=0$1q0n1)0u0d1u1f1h0X1B2m0y2o0n0u2t1u0s0x0c171/1V2c2I0n2H1:2l012A0x0=0i0+0k0 2L0,0.2O2v1#2R2T0+0h2X2b0-2L2P2(0w2U040m2,2J2.2#1j1C2;2?0K2_2M2{1V2:232)040L322c2E2G0 2t2f0p1O2k2$1C0r2B1-173g182F2N2J3b053n0P3u1;3l0$0n0+0G0w1p1)3b0M2!353C010u0+0z3K3M3B2}0$0*040o0A3b343V2w010I0+0f233T2/3O3E040y3/2|3)0u0D0+2y3^3N3W2Q0q0+0x1V0l0c3w3:413Y0v493_1#0t0y2*2W2a3v4a3)3Y0B0F3$0M4t3L4n2%3F3H1^4e403`0+0J4B3(4x040w0s0s1)0p4G2P4c4P3;3}4S4b0+0B3$3%2:43042E2y0g4V4o0+4d4l2M3U2:4y3I0n4+1#4p3$0 3y3e1c3t3f1g3h2f2i2d0w1x4 3g0-0C0P0R0T0d04.
Lösung
1
2
3
4
5
zahlen = []
for i in range(21):
    zahlen.append(i)

print(zahlen)

Zweidimensionale Arrays

Oft haben wir es aber mit Daten zu tun, die eher eine "Tabellenform" aufweisen wie z.B. Bilder (eine "Tabelle" von Pixel) oder Spielbretter ("Tic-Tac-Toe").

Fachbegriff: Zweidimensionaler Array

Ein zweidimensionales Array (2D) ist ein Array von Arrays:

# 3 Zeilen, 4 Spalten
array_2d = [
    [1, 2, 3, 4], # Zeile 0
    [5, 6, 7, 8], # Zeile 1
    [9, 0, 1, 2]  # Zeile 2
]

Ein 2D-Array hat viele Elemente, welche in Zeilen und Spalten angeordnet sind. Es besteht aus verschachtelten Arrays. Die Anzahl Zeilen ist die Länge des äusseren Arrays. Die Anzahl Spalten ist die Länge einer einzelnen Zeile.

Zugriff

Um nun auf ein Element zuzugreifen, müssen zwei Indexe angegeben werden, der Index der Zeile und der Index der Spalte.

#array_2d[zeile][spalte]

print(array_2d[1][2]) # Entspricht dem Wert 7 (2. Zeile, 3. Spalte)
Ändern können wir analog Elemente ändern, wie bei eindimensionalen Arrays:
array_2d[0][3] = 99 # setzt in Zeile 0, Spalte 3 den Wert 99

Beispiel 1: Über ein 2D-Array iterieren

Mit zwei verschachtelten Schleifen können wir auf alle Elemente nacheinander Zugreifen.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

2D-Aufgaben

Summe aller Elemente (2D)

Question

Berechne die Summe aller Zahlen in einem 2D-Array.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshq;98ft2lv17_60g}3n[dbc+pmo(ari=])/wyZ:jzL,{kS45D u050y0c0k0G0I0m0d0#0A0m0G0d0d0J010k0I0C010406050d0$0D0D0G0H0O040T0b110w0t050M111315170 0C04051l1e1o0M1l0 0y0I0n0/0;0?0^0e0I0t0e0m1C0e0k0}050*0z0m0c1x0=0@011B1D1F1D0k1L1N1J0k0H1m0k0e0/0E0-0C0G0w0^0l011P1z010j0,0c0w0G0D0c1J0d1-0w1?1R1_1N1|1~0}0a0#191b0t0d0n0E0H0d0A1E0G1d1f221m0M1(2r1#1%1$1K0y240^1F0w1{0E0d1J1u1w0:1Q2B0I2D0w0E2I1J0C0H0c1m211.2r2X0w2W222A012P0H140m0}0#0o1e2!0~102%2K1@2*2,2.0l2;2q0 2!2(2{0G2-040#0v2 2Y312^1y1R34360#0Y3a2#3c1.332i2|370Z3k2?322_3f3p352.0r3t3m233w0^3g2.0p3C2@3n3F2)3y3h0i3K3v3e3G3P2.0h3S3d2L3O2+3z040o0s3Z3M3U3$3q0o2:2p3b3L3E3.3H3)2~3?3l3^3o3%360o393~3u3!2`3W3)3j463D413:3s4d403N3{0o3B4i3T3#4l3J461p2U2r2I2u0y1%2z3N0A2Q1 1m4x1n4v3^2Z2q054D0(2$3-4q0}150H0G0O0q0l0y3t0#4j3.0E0}0J4#4%3#0|040x3C0#4?4$4p1@4/4;4t4_1R0D0I0}3=2=4-4`0}0U4,4~0^500}3}545a014/58464^484 5104455f5m0^5i595s015c044c5r4R56040K5j2=4?551R0A0o0}030#0P0c1`0#3+4d4@5l5C1R4{3t5J5b5o4h5B3_4.575v5Y5%0}4n5*2(5u5k5$5x5o4s5?3N5^5H5`5y3R4}5w4/5F4#5X5+1@5L5N5P5R1N2/4=4@5`5!655/5{0}3Y6n6b5Z5-5_5g5y5U5~3.602q6a2(5y534M5g6C2Y6E3N5y5e6I660}0K696M3.6d045O5Q5S6P3@6J6S3C4e4k0}0S6g1{5.6t0^4)044+6w5w0w0z0}275#6(040F706{4T0H4V4X4Z746o4/0L3,6=2)0}2X0m0k6:6`6o6@6_615g6|6~7m6A5,727b7g0w76784Y4!6s5@0}4|7w1@6y7z7H5E7e4d6+3`7i121~6;2(7p7X6N5o6z305`0W0}0j2i7!7T040I7.3#0E0N0}2N7=2`6}044V1c0c7N5 0}737G6,046.1`0w826B0}0L0Q6j5I5g7*047,0H7{3f0}0R8o6?7^7:8b7n7A7}7 0t81868d7y8D4S047j7l8w7K6u048f8h5W6V8H0N0c0H0k8s017Z8x337C4W7E8c7x7J6Q6o7B7:8*5D0K8,2Y5`8/8r8G8=6*8R6k7s7U138C7r5w8!958.927W8#3N6@0B8Y8/8U8W6*8_7}2T2N8X8|8N858M0^0d0G7+8;1R0d1;04020f0$0E0k0g0!0I1O0X7V1O0I0d0k0Q4$9q9u5o0V9y3G9a948-7g0d5o0u9Y019A0}9D9F9H9+7d3K0M4O2V4u9`0M4H2s4z1e2va10G1M9|4x0 9}0)0+0-04.
Lösung
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
array_2d = [
    [1, 2, 3, 4],  # Zeile 0
    [5, 6, 7, 8],  # Zeile 1
    [9, 0, 1, 2]   # Zeile 2
]

zeilen = len(array_2d)
spalten = len(array_2d[0])

summe = 0
for i in range(zeilen):
    for j in range(spalten):
        wert = array_2d[i][j]

        summe = summe + wert

print(f"Die Summe ist: {summe}")

Grösstes Element finden mit Position (2D)

Question

Finde das grösste Element in array_2d und gib Wert, Zeilenindex und Spaltenindex aus.

Beispielausgabe: Max = 17 an (2, 1).

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öesh;q98ft2lv17_60g}3n[dbcpmo(ari=])/wyZ:jzEL,{k45D u050y0c0k0F0H0m0d0!0A0m0F0d0d0I010k0H0B010406050d0#0C0C0F0G0N040T0b100w0t050L101214160~0B04051k1d1n0L1k0~0y0H0n0.0:0=0@0e0H0t0e0m1B0e0k0|050)0z0m0c1w0;0?011A1C1E1C0k1K1M1I0k0G1l0k0e0.0D0,0B0F0w0@0l011O1y010j0+0c0w0F0C0c1I0d1,0w1=1Q1^1M1{1}0|0a0!181a0t0d0n0D0G0d0A1D0F1c1e211l0L1%2q1!1$1#1J0y230@1E0w1`0D0d1I1t1v0/1P2A0H2C0w0D2H1I0B0G0c1l201-2q2W0w2V212z012O0G130m0|0!0o1d2Z0}0 2$2J1?2)2+2-0l2:2p0~2Z2%2`0F2,040!0v2~2X302@1x1Q33350!0X392!3b1-322h2{360Y3j2=312^3e3o342-0r3s3l223v0@3f2-0p3B2?3m3E2(3x3g0i3J3u3d3F3O2-0h3R3c2K3N2*3y040o0s3Y3L3T3#3p0o2/2o3a3K3D3-3G3(2}3=3k3@3n3$350o383}3t3Z2_3V3(3i453C403/3r4c3 3M3`0o3A4h3S3!4k3I4n473w410|0o3Q451o2T2q2H2t0y1$2y3M0A2P1~1l4D1m4B3@2Y2p054J0%2#3,4p0|140G0F0N0q0l0y3s0!4i3-0D0|0I4+4-3!0{040x3B0!4|4,4o1?4^4`4z4 1Q0C0H4w3s4?500|0U4=540@560|3|2;5a1Q4^5d454~4t5g5704445k5f015n5e5r015h044b5w5B4^0J5o2;4|5l0@0A0o0|030!0O0c1_0!3*4c4}5q4X5b4_595x5D4g5G5$5m5c5A5.5s0|4m5-3^4@5:5p5N5C5t4r5_2%5z5}5*5t4y623M5I5K2p5M5x5P5R5T5V1M2.4{4}5~515)5B5D3X535H5|5L5~5D5Y693-646x66586u5=5y6w6d6y5t5j4S5x5I4+6e5B6g045S5U5W6O3?6Q0|0J3B4d4j0|0R6j1`5;5`1?4/044;655B0w0z0|266q6I4^0E6 6;3e4Z0G4#4%4)73630|0K3+743F0|2W0m0k6/6_6I6?6^6E6`6|046~6H7g6J04727w3276784(4*7B6a0|526B3!6z7b7I040J7e4c6*3_0|0t0G190d7l0d6:2%7p7%6+044!4$7F7O6C7J7:7M5t6A6P6v7Q7K7`6I7N7H7;7Q7f2%0W0|0j2h7*7V040H8a3!0D0M0|2M8e2_7t4#1b0c7?5%7A7L2_6,6.0w8q5/040K0P6m6T6I8604880G8k75040Q8K0@8g8i8x7n7x6{0|8n0t8p815{7z8y7h047j7l8S8t8z8B8D5!5#8U0|0M0c0G0k8O017)8T7C7,777.7a8!5%7}2X5~0w8i8%7y0J972!990|8N958z6(7T8;6n5x8G0H0j8|9a048^8`8|6?020t0k0f9u7W7Y0=7#9c4^8C5Z9o8;9h047X7Z9J8 3M8~7r6I9v9x8{7T997t2S2M9$8-0@719c0d0F879:1:04020g0#0D9D0Z0;0!9S9I1N0S1M1}0w0k0!0H7!0P4,9k0@0d5t0V9c9va27!0c7$af01ah0|0u9@0|9`9|9D9K7d3J0L4U2U4AaF0L4N2r4F1d2uaM0F1LaH4D0~aI0(0*0,04.
Lösung
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
array_2d = [
    [1, 2, 3, 4],  # Zeile 0
    [5, 6, 7, 8],  # Zeile 1
    [9, 0, 1, 2]   # Zeile 2
]

zeilen = len(array_2d)
spalten = len(array_2d[0])

grösstes = array_2d[0][0]
for i in range(zeilen):
    for j in range(spalten):
        wert = array_2d[i][j]

        if wert > grösstes:
            grösstes = wert

print(f"Das grösste Element ist: {grösstes}")

Zeilensummen (2D)

Question

Berechne für jede Zeile die Summe aller Elemente.

Speichere das Ergebnis wieder in einem Array Zeilensummen Die erste Zeilensumme ist \(1+2+3+4=10\), somit ist das erste Element in Zeilensummen \(10\).

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshq;98ft2lv17_60g}3n[dbc+pmo(ari=])/wyZ:jzEL,{k.S45D u050y0c0k0G0I0m0d0%0A0m0G0d0d0J010k0I0C010406050d0(0D0D0G0H0O040U0b130w0t050M13151719110C04051n1g1q0M1n110y0I0n0;0?0^0`0e0I0t0e0m1E0e0k0 050,0z0m0c1z0@0_011D1F1H1F0k1N1P1L0k0H1o0k0e0;0E0/0C0G0w0`0l011R1B010j0.0c0w0G0D0c1L0d1/0w1^1T1{1P1~200 0a0%1b1d0t0d0n0E0H0d0A1G0G1f1h241o0M1*2t1%1)1(1M0y260`1H0w1}0E0d1L1w1y0=1S2D0I2F0w0E2K1L0C0H0c1o231:2t2Z0w2Y242C012R0H160m0 0%0o1g2$10122)2M1_2,2.2:0l2?2s112$2*2}0G2/040%0v312!332`1A1T36380%0!3c2%3e1:352k2~390#3m2^342{3h3r372:0r3v3o253y0`3i2:0p3E2_3p3H2+3A3j0i3M3x3g3I3R2:0h3U3f2N3Q2-3B040o0s3#3O3W3(3s0o2=2r3d3N3G3:3J3+303^3n3`3q3)380o3b403w3$2|3Y3+3l483F433=3u4f423P3}0o3D4k3V3%4n3L4q4a3z440 0o3T4v3/4s4c0o3!4C3{4E4y040l3-4I4h3*0l3@2@4g4m4c0l3 4U4l3|4X474!4r4b4L0l4e4)4w3X4,4j4/4D4+3s0l4p4@4J4_4R4u2@1r2W2t2K2w0y1)2B3P0A2S211o561p543`2#2s055c0*2(4^3h0 170H0G0O0q0l0y3v0%4#3%0E0 0J5A5C1_0~040x3E0%5O5B4*1T5K5M485I1T0D0I4z3v5W0`5K0V5H5R0`5Y0 4Z5l5+015(5*4:015-044(5:5^5?485Q5^5`4.5}5q5%0 0K5)606166010A0o0 030%0P0c1|0%4O4U5P6c4~5S0 5U525;5`4?656s67046a2@6r2*5`4|6A2*5 6F5$5_5Z04516K3P6M2s6G3P5`4B6w5~686E6W6X3:6f6h6j6l1P2;5N5P6O5T5#6x6Q4H6#6d6V2!6*3%5`6o6T3:6 2%711_5`4T753%77396O5`5/2!6@685A5O6O6,046i6k6m7j415;5K0K3E4V3|0 0S6/1}5@6d5E045G606O0w0z0 296_6$040F7S6d0w5s0H5u5w5y7W6B5=0 0L3.7)7Y042Z0m0k7G7M5;7J7L6N5;7O7Q7@6}7)5K7V5V7}7Z7#5x5z857T6v7d7a6Q747k7x687,4f7B4s7D7F0w1i200w7H7)7`8v6L6u7z8m8n1_0X0 0j2k8y4m0 0I8J3:0E0N8L8u7^5^7~045u1e0c7(8z7U8!8K047E1|8S818#0L0Q6=7o867:14208N5D5F8`8f0 8h3n6q6O8F048H0H8}5r040R980`8P8R9c2+7P8W1:0t8Z8b6~0 848-8(7;7?8,8e6t048/8;6q79990N0c0H0k9g8x8T7X875v898%766u9P8o048M9n82688d8i8U0 9b9W8#8B4U069B6?8?8s9m7|5^9J9=9L8@159;6W6O7J0B9g7/9E9G9A7N8p8+9:9v9!7I0 0Y9S2|5s0C0C1}8a9r9Q8$9(9s8^9|ab9X9y7A7N9i2V2P9Hapan9q9w0`0d0G8Gaf1T0d1?04020f0(0E0k0g0$0I1Q7t29a90%0d2P0y0Q5BaC3%a$0 0WaK3Ia7aZaraa2%6Oa-040ua:01aM0 aPaRaTa~5K8l9+7p6g7r6i0T0H9E0I7?9G1Q2f0(1e8:4P3P9496a18L9I8Q9Ua^7g7}9i8X9lb59pa~7/8*7Ra+5J7+bn6p9.9#8)7F9I8|9K7.9M7$alaF7*5LbFbtbJ9x9*32928?bH1}9:bS7Kb$bQa8a@bDb#b(a;9Ub`b*3db,8Uay0HaAb`aEat2*aHaJb|a aNb2aS0gbd0d7?6.6m0F0I7{bZa{a/cd7/9Vama,6Qa}cdb09y0%0Zara)a~csb?b.8rarcIczcIaNcm1PcHcB6Qctcxagb@1PcO0 cAcYaLcfaQchb`b7321g5n2X53c?0M5g2u581g2xc}0G1Oc^5611c_0+0-0/04.
Lösung
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
array_2d = [
    [1, 2, 3, 4],  # Zeile 0
    [5, 6, 7, 8],  # Zeile 1
    [9, 0, 1, 2]   # Zeile 2
]

zeilen = len(array_2d)
spalten = len(array_2d[0])

zeilensummen = []


for i in range(zeilen):
    summe = 0
    for j in range(spalten):
        wert = array_2d[i][j]

        summe = summe + wert
    zeilensummen.append(summe)

print(f"Die Zeilensummen sind: {zeilensummen}")

## Erweiterte Lösung:
for i in range(zeilen):
    zeile = array_2d[i]
    zeilensumme =zeilensummen[i]
    print(f"Erste Zeile (i={i}) Summe: {zeilensumme} Zeile: {zeile}")

Extra: Tic-Tac-Toe Gewinnbedingung

Question

Gegeben ist ein 3×3-Array brett mit "X", "O" oder " ". Schreibe ein Programm, das prüft, ob "X" oder "O" gewonnen hat (3 in einer Reihe: waagrecht, senkrecht oder diagonal). Gib z.B. X gewinnt, O gewinnt oder Niemand gewinnt aus.

###(De-)Aktiviert den Code nach der Zeile # Tests (Groß-/Kleinschreibung wird nicht beachtet)
(Ctrl+I)
Ein- oder Ausstieg aus dem "Split-Screen"-Modus
(Alt+: ; Ctrl, um die Spalten zu vertauschen)
Ein- oder Ausstieg aus dem "Vollbildmodus"
(Esc)
Kürzen/nicht kürzen der Rückmeldungen im Terminal (Standardausgabe & Stacktrace / Starte das Programm erneut zum Anwenden)
Wenn aktiviert, wird der aus dem Terminal kopierte Text in eine Zeile umgewandelt, bevor er in die Zwischenablage kopiert wird.

.128013öeshft2lv1g3n[dbcpmo(ari=])/wy:zLk.45 u050p0c0g0w0y0i0d0M0r0i0w0d0d0z010g0y0s010406050d0N0t0t0w0x0E040H0b0/0n0l050C0/0;0?0^0-0s0405160 190C160-0p0y0j0W0Y0!0$0e0y0l0e0i1n0e0g0+050R0q0i0c1i0Z0#011m1o1q1o0g1w1y1u0g0x170g0e0W0u0U0s0w0n0$0h011A1k010f0T0c0n0w0t0c1u0d1U0n1!1C1%1y1*1,0+0a0M0`0|0l0d0j0u0x0d0r1p0w0~101:170C1P2c1M1O1N1v0p1=0$1q0n1)0u0d1u1f1h0X1B2m0y2o0n0u2t1u0s0x0c171/1V2c2I0n2H1:2l012A0x0=0i0+0k0 2L0,0.2O2v1#2R2T0+0h2X2b0-2L2P2(0w2U040m2,2J2.2#1j1C2;2?0K2_2M2{1V2:232)040L322c2E2G0 2t2f0p1O2k2$1C0r2B1-173g182F2N2J3b053n0P3u1;3l0$0n0+0G0w1p1)3b0M2!353C010u0+0z3K3M3B2}0$0*040o0A3b343V2w010I0+0f233T2/3O3E040y3/2|3)0u0D0+2y3^3N3W2Q0q0+0x1V0l0c3w3:413Y0v493_1#0t0y2*2W2a3v4a3)3Y0B0F3$0M4t3L4n2%3F3H1^4e403`0+0J4B3(4x040w0s0s1)0p4G2P4c4P3;3}4S4b0+0B3$3%2:43042E2y0g4V4o0+4d4l2M3U2:4y3I0n4+1#4p3$0 3y3e1c3t3f1g3h2f2i2d0w1x4 3g0-0C0P0R0T0d04.