lehrkraefte:blc:informatik:glf20:programmieren:while-zahlenraten

This is an old revision of the document!


Zahlenraten: Wiederholungen mit while

  • Bestimmen Sie im Kopf eine zufällige natürliche Zahl zwischen 1 und 100.
  • Ihr Nachbar soll die Zahl erraten. Sie dürfen nur sagen, ob die gesuchte Zahl grösser oder kleiner ist, oder die Zahl gefunden wurde.
  • In wie vielen Vesuchen kann die Zahl garantiert erraten werden?

Wir machen eine Übersicht der folgenden Elemente:

  • Welche Werte müssen gespeichert werden, wie sollen die Variablen heisen?
  • Wie ist genau der Ablauf vom Programm?
    • Was geschieht genau einmal am Anfang?
    • Welche Schritte werden wiederholt?
    • Was passiert am Schluss?
from random import randrange  # Funktion randrange importieren
 
wurfel = ""
for i in range(50):
    wurfel += "%d " % randrange(1,7)  # Zufallszahl von 1 bis und mit 6
 
print(wurfel)

Bei einem for-loop sind die Anzahl Wiederholungen zu Beginn der Schleife festgelegt.

Beim Rate-Spiel muss geraten werden (d.h. wiederholt), bis die Zahl gefunden wurde. In Python könnte das wie folgt aussehen:

gefunden = False   # Die Zahl ist noch nicht gefunden
while not gefunden:   # Solange nicht gefunden, wiederholen
  # Tu
  # was (hier muss Code stehen, so meldet das Programm einen Fehler wegen leerer Schlaufe
grenze = 100
zahl = 42   # Hier eine Zufallszahl mit randrange zwischen 1 und granze bestimmen
 
gefunden = False   # Zahl schon erraten?
versuche = 0       # Anzahl Versuche
 
while not gefunden:
  # Anzahl versuche um eins Erhöhen.
 
  # Benutzer soll raten
  raten = inputInt("Versuch %d: Zahl zwischen 1 und %d erraten:" % (versuche, grenze))
 
 
  # Zahl gefunden? Also entsprechende Ausgabe, die Variable 'gefunden' auf True setzen
  # Sonst Ausgabe, ob zu gross oder zu klein
 
# Ende des Programms
print("Die Zahl wurde in %d Versuchen erraten!" % versuche)
  • lehrkraefte/blc/informatik/glf20/programmieren/while-zahlenraten.1603912786.txt.gz
  • Last modified: 2020/10/28 20:19
  • by Ivo Blöchliger