Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:ffprg1-2020:arrays [2020/02/10 21:50] Ivo Blöchliger |
lehrkraefte:blc:informatik:ffprg1-2020:arrays [2022/05/05 12:58] (current) Ivo Blöchliger [Pascal-Dreieck] |
||
---|---|---|---|
Line 18: | Line 18: | ||
==== Wichtige Funktionen und Methoden ==== | ==== Wichtige Funktionen und Methoden ==== | ||
- | * len: Anzahl Element einer Liste/ | + | * '' |
- | * Negative | + | * Negative |
- | * Unterliste/ | + | * Unterliste/ |
- | * Anfang | + | * Unterliste/ |
+ | * Array/Liste «umdrehen»: | ||
+ | * Anfang | ||
Nur für Arrays: | Nur für Arrays: | ||
- | * a.append(5) -> zusätzliches Element hinten anfügen | + | * '' |
- | * tuple(a) -> Konvertiert ein Array in ein Tuple | + | * '' |
Weitere nützliche Methoden: https:// | Weitere nützliche Methoden: https:// | ||
Line 42: | Line 44: | ||
print(feld) | print(feld) | ||
</ | </ | ||
+ | |||
+ | ==== Loop über Arrays ==== | ||
+ | <code python> | ||
+ | quadrate = [i**2 for i in range(1,9)] | ||
+ | |||
+ | # Loop über alle Elemente | ||
+ | for q in quadrate: | ||
+ | print(" | ||
+ | |||
+ | # Loop mit Index über alle Elemente | ||
+ | for i,q in enumerate(quadrate): | ||
+ | print(" | ||
+ | |||
+ | </ | ||
+ | |||
====== Aufgaben ====== | ====== Aufgaben ====== | ||
Line 126: | Line 143: | ||
===== Pascal-Dreieck ===== | ===== Pascal-Dreieck ===== | ||
- | * Erzeugen Sie ein zweidimensionales Array mit dem Pascal-Dreieck | + | * Erzeugen Sie ein zweidimensionales Array mit dem Pascal-Dreieck. |
+ | * **Challenge**: Geben Sie dieses " | ||
< | < | ||
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1], [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]] | [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1], [1, 5, 10, 10, 5, 1], [1, 6, 15, 20, 15, 6, 1], [1, 7, 21, 35, 35, 21, 7, 1], [1, 8, 28, 56, 70, 56, 28, 8, 1], [1, 9, 36, 84, 126, 126, 84, 36, 9, 1], [1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1]] | ||
Line 143: | Line 161: | ||
<hidden Lösungsvorschläge> | <hidden Lösungsvorschläge> | ||
+ | Erzeugung des Dreiecks: | ||
+ | <code python> | ||
+ | n = 10 | ||
+ | p = [[1]] | ||
+ | for zeile in range(n): | ||
+ | neu = [1] # Neue Zeile mit einem 1 beginnen | ||
+ | for index in range(zeile): | ||
+ | # Aus der letzten Zeile p[-1] benachbarte Einträge zusammenzählen | ||
+ | neu.append(p[-1][index] + p[-1][index+1]) | ||
+ | neu.append(1) | ||
+ | p.append(neu) | ||
+ | |||
+ | print(p) | ||
+ | </ | ||
+ | |||
Folgende Lösung ist keine schöne Lösung, schon eher eine Aufgabe in sich, den Code zu verstehen. | Folgende Lösung ist keine schöne Lösung, schon eher eine Aufgabe in sich, den Code zu verstehen. | ||
<code python pascaldreieck.py> | <code python pascaldreieck.py> | ||
- | from array import * | ||
n=10 # Anzahl Zeilen | n=10 # Anzahl Zeilen | ||
space = 4 | space = 4 |