Zufallszahl
Voraussetzung
Sie haben auf jupyter.gbsl.website das Kapitel 2.1 gelesen und bearbeitet.
Aufgabe
Auf einer langen Autfahrt spielen Maria und Bob das Zufallsspiel:
Maria denkt sich eine Zahl zwischen 0 und 9 aus. Errät Bob die Zahl in den ersten 5 versuchen, so hat er gewonnen, sonst Maria.
Aufgabe: Schreiben Sie ein Skript welches den Part von Maria übernimmt und das Zufallsspiel mit Ihnen spielt.
Um mit Python eine Zufallszahl zu erzeugen, brauchen wir die Funktion randint() aus der Bibliothek random.
from random import randint
zufallszahl = randint(0, 9)
Merke mit 0 wird die untere Grenze, mit 9 die obere Grenze festgelegt. Für eine Zufallszahl zwischen 10 und 100 würde der Aufruf also randint(10, 100) lauten.
Vorgehen*
Wir brauchen eine Zufallszahl, müssen immer wissen wie viele Versuche bereits gemacht wurden und welche Zahl aktuell geraten wurde. Für diese drei Informationen braucht es Variablen.
- Weisen Sie der Variable
zufallszahleine zufällige Zahl zwischen0und9zu. - Fragen Sie den Bentzer nach einer Zahl und speichern Sie das Resultat in einer Variable, z.B.
geraten - Achtung, die Variable
geratenmuss noch in eine Zahl umgewandelt werden! - Das war der erste Versuch! Weisen Sie der Variable
versucheden Wert1zu. - Solange die geratene Zahl nicht der Zufallszahl entspricht und die Anzahl Versuche noch kleiner als
5sind, wird erneut nach einer Zufallszahl gefragt und dabei immer die Variableversuchum1erhöht. - Überprüfen Sie nach der Schleife, ob Sie gewonnen haben, indem mit
ifüberprüft wird, ob die geratene Zahl der Zufallszahl entspricht. In diesem Fall sollDu gewinnst!!ausgegeben werden - Überprüfen Sie weiter, ob die Maschine gewonnen hat, indem mit
ifüberprüft wird, ob die geratene Zahl nicht der Zufallszahl entspricht. In diesem Fall sollDie Maschine gewinntausgegeben werden.
Zusatz
Schreiben Sie das Skript so um, dass es nach einem Durchlauf wieder neu gestartet wird.
Tipp Erzeugen Sie rund um das ganze Skript (aussert die
importZeilen) eine immer wahrewhileSchleife:while True:
print("Ich bin immer wahr...")Binden Sie die Bibliothek
smartphone_connectorein und schicken Sie die Fragen und die Sieger-Nachrichten ans Smartphone. Beachten Sie, dass der Verbindungs-Aufbau (phone = Connector...) nur genau ein Mal gemacht werden sollte.Da Sie bereits wissen, dass der Benutzer eine Zahl eingeben soll, kann dies auch mitgegeben werden, so dass auf dem Smartphone eine Zahlen-Tastatur angezeigt wird. Achtung der Rückgabewert ist dennoch ein Text.
from smartphone_connector import Connector
phone = Connector("https://io.gbsl.website", "FooBar")
geraten = phone.input("Zufallszhal? ", input_type="number")Zudem soll die Gewinner-Benachrichtigung vom Benutzer bestätigt werden müssen. Dazu rufen Sie
alert()stattprint()auf.phone.alert("Du gewinnst!")
* Falls Ihnen die erste Aufgabe nicht gelingt: hier eine Video Anleitung dazu. Achtung, versuchen Sie es zuerst mit der Anleitung.