Ich verstehe nur leider die Logik des Programmablaufs nicht. Durch die Textausgabe ist mir aufgefallen,
dass nach:
"Gut gemacht, Du hast meine geheime Zahl in 9 Versuchen geraten"
gleich
"Bitte sage mir deine Schätzung"
kommt
D. h. : die folgenden Zeilen werden übersprungen und nicht ausgeführt
Und ich verstehe nicht warum.
Code: Alles auswählen
print(Game())
z.append(result)
print(z)
Code: Alles auswählen
import random
z=[]
keepPlay='j'
while keepPlay=='j':
def Game():
x=random.randint(1,100)
y=0
i=0
while True:
print('Bitte sage mir deine Schätzung')
y=int(input())
i+=1
if y>x:
print('Niedriger - Deine Schätzung ist zu hoch')
elif y<x:
print('höher - Deine Schätzung ist zu niedrig')
elif y==x:
break
if y==x:
print('Gut gemacht, Du hast meine geheime Zahl in ' + str(i)+' Versuchen geraten')
return i
result=Game()
print(Game())
z.append(result)
print(z)
print('Möchtest Du erneut spielen (j/n)?')
a=input()
if a=='j':
keepPlay='j'
elif a=='n':
break
#else:
#print('Bitte nur j oder n eingeben nichts weiter')
print('Ok Tschüss dann')

Mein Ziel war: ich wollte das eigentliche Spiel in eine Funktion packen und das Programm sollte dann mehr aus einer While-Schleife bestehen dass die Funktion aufruft und ein paar Infos zurückgibt.
Also falls es da noch Hinweise gibt wie man das richtig strukturiert wäre ich dankbar. Habe doch gemerkt dass ich da noch Schwierigkeiten habe.
Grüße ans Forum
Zum Spiel noch:
Steve Ballmer hat in einem Interview erzählt dass er angeblich allen Bewerbern die gleiche Frage gestellt hat: I pick a number between 1-100. You can tell me a number, i tell you then if the number is higher or lower. If you pick the right number on the first try i give you 5 bucks, then 4, 3,2,1,0 then -1, -2. Want to play?. Der Part mit den $/Erwartungswerten habe ich jetzt nicht abgebildet ich wollte das Spiel selbst schreiben als Übung.