7. Lektion: Wiederholungen: Unterschied zwischen den Versionen

Aus Attraktor Wiki

Wechseln zu: Navigation, Suche
(while True:)
(Übung:)
Zeile 40: Zeile 40:
  
 
== Übung:==
 
== Übung:==
* Tannenbaum
+
Nun wollen das bisher gelernt in 2 Programmen einsetzen.
* Zahlenraten
+
  
=== urandom()===
+
=== Tannenbaum===
 +
Es soll ein Programm geschrieben werden, das einen Tannenbaum aus "*" ausgibt.
 +
Schlechte Lösung: Tannenbaum_1.py
 +
Gute Lösung: Tannenbaum_2.py
 +
 
 +
=== Zahlenraten===
 +
Hierfür brauchen wir Zufallszahlen:
 +
==== urandom()====
 
import urandom<br>
 
import urandom<br>
 
x = urandom.randint(1,10)<br>
 
x = urandom.randint(1,10)<br>
 
print(x)<br>
 
print(x)<br>
 +
 +
Zahlenraten.py

Version vom 29. Juli 2023, 18:48 Uhr

Wiederholungen

In Programmen werden immer wieder Abschnitte des Programms mehrfach ausgeführt. Damit der Programmcode nur einmal geschrieben werden muss gibt es Schleifen die den Block mehrmals ausführen.

In Micro/Python gibt 2 solcher Strukturen:

for x in iterable:

  • For in Python unterscheidet sich von anderen For-Schleifen
    • ist dafür gedacht Werte aus einer Datenstruktur (Liste) zu bearbeiten.
    • die Funktion einer C-typischen for-Schleife kann mit range() erreicht werden.
  • Die Anzahl der Schleifen Durchläufe ist vorherbestimmt.
  • pass ist erforderlich wenn kein Programmcode darunter steht.

range()

  • Python Funktion die ganze Zahlen liefert.
  • Anzahl: range(anzahl) - Start = 0
  • Bereich: range(start, stop+1)
  • Abstand: range(start, stop+1, abstand)
  • Micropyton erzeugt keine Liste mit range() sondern ersetzt die Liste durch die range-Funktion.
    • Das spart Speicherplatz.
    • Verhält sich wie eine Liste.

Übung:

  • Gebt verschiedene Zahlenbereiche mit range() aus.
    • dazu ist eine for-Schleife mit print() erforderlich.
  • Erstellt eine Liste mit den geraden Zahlen (range()) von 2 bis 20.
    • Gebt mit einer for-Schleife die Quadrate dieser Zahlen aus.

while True:

  • while ist das zweite Schleifenkonstrukt von Python.
  • Bei der while-Schleife ist nicht vorbestimmt wie oft sie durchlaufen wird.
  • Die Entscheidung wird vor jedem Durchlauf getroffen.
  • Die while-Schleife ist Kopfgesteuert.
    • Sie wird mindestens 0 mal durchlaufen.
  • pass ist erforderlich wenn kein Programmcode darunter steht.

Übung:

  • Entwerfe eine while-Schleife, die 10x "Hallo" ausgibt.
  • Entwerfe eine while-Schleife, der in der Variablen runden die Anzahl der Durchläufe vorgegeben wird.
  • Entwerfe eine while-Schleife die alle Quadratzahlen <100 ausgibt.

Übung:

Nun wollen das bisher gelernt in 2 Programmen einsetzen.

Tannenbaum

Es soll ein Programm geschrieben werden, das einen Tannenbaum aus "*" ausgibt. Schlechte Lösung: Tannenbaum_1.py Gute Lösung: Tannenbaum_2.py

Zahlenraten

Hierfür brauchen wir Zufallszahlen:

urandom()

import urandom
x = urandom.randint(1,10)
print(x)

Zahlenraten.py