Python :: Aufgabe #14 :: Lösung #3

7 Lösungen Lösungen öffentlich
#14

Zahlen erraten lassen.

Anfänger - Python von zayc_ - 28.12.2012 um 14:08 Uhr
Programmiere ein Programm, welches eine vom User erdachte Zahl (Integer) in einem vom User angegebenen Bereich Erraten soll.

Konsolenausgabe:


Bitte Untergränze angeben: 0
Bitte Obergränze angeben: 100

Bitte geben sie nach jedem versuch R,G oder K an. je nachdem ob
R die Zahl richtig ist
G die gesuchte Zahl grösser ist
K die gesuchte Zahl kleiner ist



1. Versuch: 50.
k
2. Versuch: 25
g
3. Versuch: 37
g
4. versuch: 42
g
5. Versuch: 46
k
6. Versuch: 44
k
7. Versuch: 43
r
Die gesuchte Zahl war also die 43!



#3
vote_ok
von ushy (470 Punkte) - 24.03.2015 um 01:33 Uhr
Quellcode ausblenden Python-Code
#Zuffalszahlen
import random
random.seed

#Grenzen definieren
fehler_1=1
while fehler_1==1:
    try:
        u_grenze=int(input('Bitte geben sie die Untergrenze an: '))
        fehler_1=0
    except:
        print('Die Untergrenze muß eine Ganzzahl sein.')

fehler_2=1
while fehler_2==1:
    try:
        o_grenze=int(input('Bitte geben sie die Obergrenze an: '))
        fehler_2=0
    except:
        print('Die Obergrenze muß eine Ganzzahl sein.')

print('Bitte geben sie nach jedem Versuch r,g oder k ein.')
print('r: Die Zahl ist richtig.')
print('g: Die gesuchte Zahl ist grösser.')
print('k: Die gesuchte Zahl ist kleiner.')
print("################################## \n")

#Wiederholt raten bis Zahl gefunden
erraten=0
versuch=0
bisher=[]
while erraten==0:
    guess=random.randint(u_grenze,o_grenze)
    versuch=versuch+1
    #Prüfen ob Zahl bereits versucht
    while guess not in bisher:
        bisher.append(guess)
        print('Versuch: ',str(versuch).zfill(2),':',guess)
        antw=str(input('Ihre Antwort: '))
        #Auswerten der user-Eingabe
        if antw=='r':
            print('Erraten in: ',str(versuch).zfill(2),' Versuchen.')
            erraten=1
        elif antw=='k':
            o_grenze=guess
        elif antw=='g':
            u_grenze=guess
        #Ausnahme falls user falsch Antwortet
        else:
            print('Sie müssen den Versuch richtig bewerten.')
            bisher.remove(guess)
                

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben