lehrkraefte:blc:informatik:ffprg1-2020:funktionen

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
Last revision Both sides next revision
lehrkraefte:blc:informatik:ffprg1-2020:funktionen [2020/04/20 17:23]
Ivo Blöchliger [Beispiel: Buchstaben verwürfeln]
lehrkraefte:blc:informatik:ffprg1-2020:funktionen [2022/05/19 12:43]
Ivo Blöchliger [Beispiel: Buchstaben verwürfeln]
Line 5: Line 5:
  
 ===== Theorie ===== ===== Theorie =====
-Unterpogramme geben keine Werte zurück, z.B.+Unterprogramme geben keine Werte zurück, z.B.
 <code python> <code python>
 def hello(wer):  # Definition des Unterprogramms, führt noch nichts aus! def hello(wer):  # Definition des Unterprogramms, führt noch nichts aus!
Line 35: Line 35:
     return a     return a
          
-def kompliziert(a,b)+def kompliziert(a,b):
    a = summe(a,b)    a = summe(a,b)
    b = produkt(a,b)    b = produkt(a,b)
Line 60: Line 60:
   * Den neuen Text zusammensetzen.   * Den neuen Text zusammensetzen.
  
 +<hidden Lösungsvorschlag>
 <code python buchstabenvertauschen.py> <code python buchstabenvertauschen.py>
 import random import random
Line 76: Line 77:
     if (j==i):  # Zufällig die gleiche Position erwischt? Also j um eins erhöhen.     if (j==i):  # Zufällig die gleiche Position erwischt? Also j um eins erhöhen.
         j+=1         j+=1
-    return buchstabenVertauschen(wort, i, j)+    return buchstabenTauschen(wort, i, j)
  
 def wortWuerfeln(wort): def wortWuerfeln(wort):
-    wort = buchstabenTauschen(wort)+    wort = buchstabenWuerfeln(wort)
     if (len(wort)>8):     if (len(wort)>8):
-        wort = buchstabenTauschen(wort)+        wort = buchstabenWuerfeln(wort)
     return wort     return wort
  
Line 120: Line 121:
     for element in a:     for element in a:
         s+=element         s+=element
 +    return s
 +    
 +a = list(range(1,11))
 +print(a)
 +print(summe(a))
 +
 </code> </code>
 </hidden> </hidden>
  
 ===== Tic-Tac-Toe schön ausgeben ===== ===== Tic-Tac-Toe schön ausgeben =====
 +
 +Hinweis: Diese Aufgabe gibt auch als [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen-mit-klassen#tic_tac_toe|Aufgabe mit Klassen, inklusive Ausbaumöglichkeiten]].
 +
 Ein Tic-Tac-Toe Feld kann mit einem 3x3-Array dargestellt werden. Wir verwenden 0,1,2 als Einträge (leer, Kreis, Kreuz). Ein Tic-Tac-Toe Feld kann mit einem 3x3-Array dargestellt werden. Wir verwenden 0,1,2 als Einträge (leer, Kreis, Kreuz).
 Hier ein Beispiel: Hier ein Beispiel:
Line 129: Line 139:
 feld = [[0,1,1], [2,1,2], [0,2,2]] feld = [[0,1,1], [2,1,2], [0,2,2]]
 </code> </code>
-Wobei feld[2][0] die recht obere Ecke sein soll. Die Unter-Arrays stellen Spalten dar!+Wobei feld[2][0] die rechte obere Ecke sein soll. Die Unter-Arrays stellen Spalten dar!
  
 Schreiben Sie eine Funktion, die ein 3x3-Feld als Parameter bekommt, und einen String (inklusive Zeilenumbrüche "\n") als return-Wert generiert. Schreiben Sie eine Funktion, die ein 3x3-Feld als Parameter bekommt, und einen String (inklusive Zeilenumbrüche "\n") als return-Wert generiert.
Line 141: Line 151:
  O | X | X   O | X | X 
 </code> </code>
-Hinweis: Verwenden Sie ein Array, um die möglichen Symbole festzulegen. Der Eintrag im Array liefert dann den Index vom Symbol.+Hinweis: Verwenden Sie ein Array, um die möglichen Symbole festzulegen. Der Eintrag im Spielfeld-Array liefert dann den Index vom Symbol.
  
 <hidden Lösungsvorschlag> <hidden Lösungsvorschlag>
Line 165: Line 175:
  
 ===== Sudoku parsen ===== ===== Sudoku parsen =====
 +
 +Hinweis: Diese Aufgabe gibt auch mit einer [[lehrkraefte:blc:informatik:ffprg1-2020:funktionen-mit-klassen#sudoku|Klasse und Ausbaumöglichkeiten]].
 +
 Gegeben ist ein String, der ein Sudoku darstellt. Die Regeln sind wie folgt: Gegeben ist ein String, der ein Sudoku darstellt. Die Regeln sind wie folgt:
   * Eine Ziffer von 1 bis 9 stellt ein gegebenes Feld dar.   * Eine Ziffer von 1 bis 9 stellt ein gegebenes Feld dar.
Line 307: Line 320:
  
 def permutationen(n): def permutationen(n):
-    return vertausche([i for i in range(n)])+    return vertausche(list(range(n)))
  
 print(permutationen(3)) print(permutationen(3))
Line 344: Line 357:
  
 def permutationen(n): def permutationen(n):
-    a = [i for i in range(n)]+    a = list(range(n))
     return [num2perm(j,a) for j in range(factorial(n))]     return [num2perm(j,a) for j in range(factorial(n))]
  
  • lehrkraefte/blc/informatik/ffprg1-2020/funktionen.txt
  • Last modified: 2022/06/23 12:58
  • by Ivo Blöchliger