lehrkraefte:blc:informatik:ffprg1-2020:arrays

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg1-2020:arrays [2022/03/31 12:45]
Ivo Blöchliger [Erzeugung von Arrays]
lehrkraefte:blc:informatik:ffprg1-2020:arrays [2022/05/05 12:58] (current)
Ivo Blöchliger [Pascal-Dreieck]
Line 19: Line 19:
 ==== Wichtige Funktionen und Methoden ==== ==== Wichtige Funktionen und Methoden ====
   * ''len'': Anzahl Element einer Liste/Array, z.B. ''len(a)'' wenn a ein Array enthält.   * ''len'': Anzahl Element einer Liste/Array, z.B. ''len(a)'' wenn a ein Array enthält.
-  * Negative Indizies: ''a[-1]'' -> ''a[len(a)-1]'' (letztes Element), ''a[-2]'' ist zweitletztes Element etc.+  * Negative Indexe: ''a[-1]'' -> ''a[len(a)-1]'' (letztes Element), ''a[-2]'' ist zweitletztes Element etc.
   * Unterliste/Array mit ''a[2:4]'' -> Liste/Array mit den Elementen ''a[2]'' und ''a[3]''  (gleiche Logik wie bei range)   * Unterliste/Array mit ''a[2:4]'' -> Liste/Array mit den Elementen ''a[2]'' und ''a[3]''  (gleiche Logik wie bei range)
   * Unterliste/Array mit ''a[2:10:2]'' -> Liste/Array mit den Elementen der Indizies 2,4,6 und 8. ''a[Untergrenze:Obergrenze:Schrittweite]''.   * Unterliste/Array mit ''a[2:10:2]'' -> Liste/Array mit den Elementen der Indizies 2,4,6 und 8. ''a[Untergrenze:Obergrenze:Schrittweite]''.
Line 48: Line 48:
 <code python> <code python>
 quadrate = [i**2 for i in range(1,9)] quadrate = [i**2 for i in range(1,9)]
-for q in quadrate:+ 
 +# Loop über alle Elemente 
 +for q in quadrate:   
   print("%d ist eine Quadratzahl" % q)   print("%d ist eine Quadratzahl" % q)
  
 +# Loop mit Index über alle Elemente
 for i,q in enumerate(quadrate): for i,q in enumerate(quadrate):
   print("quadrate[%d]=%d" % (i,q))   print("quadrate[%d]=%d" % (i,q))
Line 158: 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):  # So viele Zahlen der neuen Zeile hinzufügen
 +        # Aus der letzten Zeile p[-1] benachbarte Einträge zusammenzählen
 +        neu.append(p[-1][index] + p[-1][index+1])  
 +    neu.append(1)   # Neue Zeile mit 1 beenden
 +    p.append(neu)   # Neue Zeile dem Resultat hinzufügen
 +
 +print(p)
 +</code>
 +
 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>
  • lehrkraefte/blc/informatik/ffprg1-2020/arrays.1648723539.txt.gz
  • Last modified: 2022/03/31 12:45
  • by Ivo Blöchliger