==== 2.10 ==== * Abbruch bei ''X'' Mit ''getKeyCodeWait()'' kannst du den KeyCode einer Taste auslesen * ''abs'' liefert den Absolutwert einer Zahl. * ''getX()'' und ''getY()'' liefert die Position der Turtle. Um zu verstehen, wie sie sich bewegt empfiehlt sich ''print(getPos())'' einzubauen. * Abbruch der Schleife. Das Beispielprogramm definiert eine sogenannte //Listener//-Funktion. Diese kann die Schlaufe nicht direkt abbrechen. Du kannst aber in dieser Funktion den Wert einer globalen Variable verändern und auf Grund dieses Werts die Schlaufe abbrechen: stopit = False def changeglobalvariabe(): # definiert stopit als globale Variable global stopit stopit = True print(stopit) changeglobalvariabe() print(stopit) while True: if(stopit): break ==== 3.10 ==== Bei A1 geht es darum, dass mit Zufallszahlen experimentiert wird. Die ganze Darstellung ist für uns untergeordnet. Versuch den Code unten zu verstehen und ergänze ihn, mit zufällig gezogenen Monaten. from gpanel import * import random # Anzahl Wiederholungen NB_GAMES = 100 # Wartezeit zwischen den Wiederholungen DELAY_TIME = 1000 # Anzahl Kinder NB_CHILDREN = 5 def play(): #initilaisiert die Monate, das heist, in jedem Montag sind zuerst 0 Kinder for n in range(12): year[n] = 0 for n in range(NB_CHILDREN): ''' Hier müssen zufällige Monate gezogen werden und die gezogenen Kinder zu den Monaten in years addiert werden ''' move(5 + 10 * month, -5 + year[month] * 10) fillCircle(5) #Falls in einem Monat mehr als zwei Geburtstage True, sonst False zurück geben for month in year: if month > 1: return True return False # Gitterbrett Zeichnen def drawBoard(): #Board löschen clear() #Kübel zeichnen for n in range(12): move(5 + 10 * n, 60) rectangle(10, 120) makeGPanel(0, 120, 0, 120) #years initialisieren year = [0] * 12 n = 0 nbHit = 0 while n < NB_GAMES: n += 1 drawBoard() rc = play() if rc: nbHit += 1 title("Game #: " + str(n) + " #hits: " + str(nbHit)) delay(DELAY_TIME) ==== A1 ==== bioNoten = [] note = 0 while note != None: note = inputFloat("Bitte Note eingeben", False) #so lange in der Schlaufe, bis Abbrechen gedrückt wird # noten den bioNoten hinzufügen. # durchschnitt der bioNoten ausgeben # hilfreiche funktionen: * sum(liste) ergibt summe, # * len(liste) ergibt länge #schönes ausgeben noten = [2,3,4] print('%s' % ', '.join(map(str, noten)))