lehrkraefte:blc:informatik:glf4-20:simulation:python-repe

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:glf4-20:simulation:python-repe [2021/03/27 09:25]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf4-20:simulation:python-repe [2021/04/06 20:15] (current)
Ivo Blöchliger [Python Repetition / Cheat Sheet]
Line 1: Line 1:
 ====== Python Repetition / Cheat Sheet ====== ====== Python Repetition / Cheat Sheet ======
  
 +Eine minimalistische Version gibt es [[lehrkraefte:blc:informatik:glf4-20:simulation:python-mini-cheat-sheet|hier]].
 +
 +  * Gehen Sie Beispiele von oben bis unten durch.
 +  * Kopieren Sie jeweils den Code in TigerJython und führen Sie das jeweilige Programm aus.
 +  * Versuchen Sie, jede Zeile der Programm zu verstehen. Wenn Sie nicht sicher sind, fügen sie ''print()''-Anweisungen ein, um besser zu verstehen, was das Programm tut.
 +  * Wenn Sie eine Zeile nicht verstehen, stellen Sie Fragen und/oder "googeln" sie.
 +  * Das Ziel ist nicht, alles auswendig zu wissen, aber zu wissen, was möglich ist und wo die Information zu finden ist.
 ===== Variablen, Strings vs. Zahlen ===== ===== Variablen, Strings vs. Zahlen =====
 === Variablen mit Zahlen === === Variablen mit Zahlen ===
Line 9: Line 16:
 print(bar)     # Ausgabe von bar (immer noch 23) print(bar)     # Ausgabe von bar (immer noch 23)
 print(foo-bar) # Ausgabe 20 print(foo-bar) # Ausgabe 20
 +print("5 hoch 3 ist")
 +print(5**3)    # Potenzieren mit **
 +print("Wurzel 2 ist")
 +print(2**0.5)  # kurze Schreibweise zum Wurzeln ziehen (allerdings nicht schnell in der Ausführung)
 </code> </code>
  
Line 64: Line 75:
     if z%15 == 0:   # z%15 ist der Rest der Division durch 15. Um Gleichheit zu prüfen wird das doppelte Gleichheitszeichen verwendet     if z%15 == 0:   # z%15 ist der Rest der Division durch 15. Um Gleichheit zu prüfen wird das doppelte Gleichheitszeichen verwendet
         print("%d ist durch 15 teilbar" % z)         print("%d ist durch 15 teilbar" % z)
-        print("Alles was eingerückt ist, wird nur dann ausgeführt, wenn die Bedingung wahr ist")+        print("    Alles was eingerückt ist, wird nur dann ausgeführt, wenn die Bedingung wahr ist")
     elif z%5 == 0:  # Wenn die erste Bedingung falsch ist, und z%5==0     elif z%5 == 0:  # Wenn die erste Bedingung falsch ist, und z%5==0
         print("%d ist eine Fünferzahl" % z)         print("%d ist eine Fünferzahl" % z)
Line 71: Line 82:
     else:   # Wenn keine der obigen Bedingungen wahr ist     else:   # Wenn keine der obigen Bedingungen wahr ist
         print("%d ist weder durch 3 noch 5 teilbar" % z)         print("%d ist weder durch 3 noch 5 teilbar" % z)
-    print("Das wird auf jeden Fall ausgeführt, weil bezüglich dem if nicht eingrückt, es wird aber wiederholt")+    print("  Das wird auf jeden Fall ausgeführt, weil bezüglich dem if nicht eingrückt, es wird aber wiederholt")
 print("Und das wird nicht wiederholt, sondern nur ganz am Schluss einmal ausgegeben") print("Und das wird nicht wiederholt, sondern nur ganz am Schluss einmal ausgegeben")
 </code> </code>
Line 87: Line 98:
 print(foos)            # Ausgabe [42,23,12345] print(foos)            # Ausgabe [42,23,12345]
 print("foos hat %d Elemente." % len(foos))    # len(liste) liefert die Anzahl Elemente. Der Index vom letzten Element ist also len(foos)-1 print("foos hat %d Elemente." % len(foos))    # len(liste) liefert die Anzahl Elemente. Der Index vom letzten Element ist also len(foos)-1
 +
 +print("Negative Indizies greifen von hinten auf die Liste zu, d.h. foos[-1]=%d ist das letzte Element" % foos[-1])
 +print("foos[-2]=%d ist das zweiletzte Element" % foos[-2])
 </code> </code>
 === Liste aufbauen mit .append === === Liste aufbauen mit .append ===
Line 94: Line 108:
     quadratzahlen.append(i*i)     # Der Liste ein neues Element hinten anhängen     quadratzahlen.append(i*i)     # Der Liste ein neues Element hinten anhängen
 print("%d im Quadrat ist %d" % (7,quadratzahlen[7])) print("%d im Quadrat ist %d" % (7,quadratzahlen[7]))
 +print(quadratzahlen)
 </code> </code>
  
Line 116: Line 131:
 </code> </code>
  
 +===== Funktionen =====
 +Ohne Argumente (Parameter) und ohne Rückgabewert.
 +<code python>
 +def hallo():          # Definition einer Funktion ohne Argumente und ohne Rückgabewert, Der Name ist belibig, sollte mit einem Kleinbuchstaben beginnen und beschreibend sein.
 +   print("Gruss von der Funktion hallo()")
 +
 +print("Programmstart ist hier!"  
 +hallo()
 +hallo()
 +</code>
 +Mit Argumenten, ohne Rückgabewert
 +<code python>
 +def plappermaul(was, wieviel):   # Die Variablen was und wieviel existieren nur in dieser Funktion und haben nichts mit Variablen vom gleichen Namen ausserhalb zu tun.
 +    for i in range(wieviel):     # Die Variable i lebt nur in dieser Funktion und beeinflusst Variablen mit gleichem Namen ausserhalb nicht.
 +        print(was)
 +    
 +plappermaul("hallo", 4)          # Schreib 4 mal hallo
 +</code>
 +Ohne Argumente, mit Rückgabewert
 +<code python>
 +def meineListe():
 +    zahlen = [1,1]
 +    for i in range(20):
 +        zahlen.append(zahlen[-1]+zahlen[-2])   # Summe der beiden letzten Elemente
 +    return zahlen                              # Funktion sofort beenden und Resultat zurückgegeben
 +
 +foos = meineListe()   # Resultat der Funktion (in diesem Fall eine Liste) in die Variable foos spichern.
 +print(foos)
 +</code>
 +Mit Argumenten, mit Rückgabewert
 +<code python>
 +def quadrat(x):
 +    return x*x   # Quadrat von x berechnen und als Resultat zurückgeben.
 +z = 12
 +q = quadrat(z)   # Resultat der Funktion in q speichern.
 +print("Das Quadrat von %d ist %d" % (z,q))
 +</code>
 +
 +===== Zufallszahlen =====
 +Uniform verteilte Ganzzahlen
 +<code python>
 +from random import randrange
 +for i in range(1,21):   # i läuft von 1 bis 20 (die obere Grenze exklusive)
 +    print("Wurf %2d: -> %d" % (i, randrange(1,7))  # Zufällige Ganzzahl von 1 bis und mit 6 (Parameter genau wie range, obere Grenze exklusive)
 +</code>
 +Uniform verteilte reelle Zahlen im Intervall $[0,1)$.
 +<code pyton>
 +from random import random
 +for i in range(10):
 +    print(random())
 +</code>
 +Uniform verteilte reelle Zahlen im Intervall $[a,b)$.
 +<code pyton>
 +from random import random
 +a = 2.71828
 +b = 3.14152
 +for i in range(10):
 +    print(random()*(b-a)+a)  # Intervall [0,1) auf [a,b) umrechnen (lineare Funktion)
 +</code>
  
  • lehrkraefte/blc/informatik/glf4-20/simulation/python-repe.1616833555.txt.gz
  • Last modified: 2021/03/27 09:25
  • by Ivo Blöchliger