Achte beim Lesen der Lektion darauf, dass du den Sinn jedes Absatzes erfasst.
Schreibe und teste den Beispielcode schrittweise wie in der Lektion vorgegeben.
Die Aufgaben (Hinweise am Ende des Textes) sind
als Python-Quellcode auszuführen und per eMail
bis zum 24. November 2020 (Sonntag) an die Lehrkraft zu schicken.
In dieser Lektion zur Programmiersprache Python
geht es um Iterationen,
also die gesteuerte Wiederholung von Anweisungen.
Programmieren mit Python: Iterationen
Mit Hilfe einer Schleife (iteration) lassen sich
Anweisungen wiederholt ausführen.
for
for item in alist:
arbeitet den darauffolgenden, eingerückten Codeblock
für jedes Element item
einer Liste alist ab.
Dabei wird der Schleifenvariablen item zunächst
das erste Element der Liste zugewiesen,
und mit diesem Wert der eingerückte Schleifenblock durchlaufen.
Nacheinander wird nun item zu jeweils
dem nächsten Element der Liste, und der Codeblock damit wiederholt ausgeführt.
# Print all items of a list. defPrintItems(alist): foriinalist: print(i) print('-'*20)
# Define a main procedure. defMain(): print("! Iterations !") # print items of some lists PrintItems(['Hello',32,43,True]) PrintItems(range(21,40,4)) PrintItems('A string')
#--- main program ---#
Main()
Der Name der Schleifenvariable ist beliebig wählbar.
Das nächste Beispiel zeigt,
wie der Durchschnittswert einer Liste von Zahlen (etwa Schularbeitsnoten)
berechnet werden kann.
# Calculate average of a list of numbers. defAverage(listofnumbers): result=0 forninlistofnumbers: result+=n result/=len(listofnumbers) return(result)
# Define a main procedure. defMain(): print("! Iterations !") # print items of some lists PrintItems(['Hello',32,43,True]) PrintItems(range(21,40,4)) PrintItems('A string') # calculate average print('English:',Average([4,5,2,3])) print('...:',Average([1,2,3,4,5]))
#--- main program ---#
Main()
Beachte die Zeile result /= len(listofnumbers).
Das ist die Kurzform von result = result / len(listofnumbers).
while
while condition:
wiederholt den darauffolgenden, eingerückten Codeblock,
solange die angegebene Bedingung condition zutrifft.
Die Bedingung ist ein Ausdruck, der während des Programmablaufs
zu false oder true ausgewertet wird.
Häufig ist diese Ausdruck ein einfacher Vergleich, wie im folgenden Beispiel.
fromtimeimportsleep
# Count down from number. defCountdown(number): print('Countdown started...') # iteration with a loop condition whilenumber>0: print(' ->',number) number-=1 sleep(1) print(' -> Lift-off!') print('-'*20)
# Define a main procedure. defMain(): print("! Iterations !") # print items of some lists PrintItems(['Hello',32,43,True]) PrintItems(range(21,40,4)) PrintItems('A string') # calculate average print('English:',Average([4,5,2,3])) print('...:',Average([1,2,3,4,5])) # start a countdown Countdown(5)
#--- main program ---#
Main()
Damit Countdown() richtig zählt,
wird am Anfang des Quellcodes aus dem Modul time
die Prozedure sleep() importiert.
Aufgaben
Implementiere und teste den Beispielcode der Lektion.
Definiere und teste eine Funktion SquareSum(listofnumbers),
die die Summe der Quadrate einer Liste von Zahlen
(listofnumbers) berechnet.
Erweitere dazu den Beispielcode passend (Funktion und Testaufrufe).
Hinweise zur Durchführung:
Verwende SciTE, um den Quellcode zu schreiben,
zu speichern und zu testen.
Schicke die fertige Quellcodedatei
(Beispielcode samt allen Ergänzungen) per eMail.