So hab den K.I. nicht ganz so schlau gemacht, wie Hyperion empfohlen hatte, weil ichs irgendwie nicht hinbekam, aber so klappts jetzt auch ganz gut, werde mal posten wie es inzwischen aussieht. Habe versucht alle Hinweise von euch umzusetzen.
Code: Alles auswählen
import random
import time
def zahlenraten1():
secret = random.randint(1,1000)
print
print "Die gesuchte Zahl ist: ", secret
print "_" * 35
print
guess1 = random.randint(1,1000)
guess2 = random.randint(1,1000)
guess3 = random.randint(1,1000)
guess4 = random.randint(1,1000)
i = 1
startzeit = time.time() #Zeit startet
print """Das Programm versucht nun die Zahl zu erraten
Bitte um einen Augenblick Geduld"""
print "-" * 55
while guess1 != secret and guess2 != secret and guess3 != secret and guess4 != secret:
zeit = int(time.time() - startzeit) #Zeitzaehler
#-K.I.1-----------------------------------------------------------------------
if guess1 > secret:
guess1 = guess1 - 1
if guess1 < secret:
guess1 = guess1 + 1
#-K.I.2-----------------------------------------------------------------------
if guess2 > secret:
guess2 = guess2 -1
if guess2 < secret:
guess2 = guess2 +1
#-K.I.3-----------------------------------------------------------------------
if guess3 > secret:
guess3 = guess3 -1
if guess3 < secret:
guess3 = guess3 +1
#-K.I.4-----------------------------------------------------------------------
if guess4 > secret:
guess4 = guess3 -1
if guess4 < secret:
guess4 = guess3 +1
#-------------------------------------------------------------------------------
print "Versuch ", i, ":", "guess1\t-\t", guess1
print "Versuch ", i, ":", "guess2\t-\t", guess2
print "Versuch ", i, ":", "guess3\t-\t", guess3
print "Versuch ", i, ":", "guess4\t-\t", guess4
print "-" *30
i += 1
if guess1 == secret:
print "K.I.-1 hat die Zahl zuerst erraten"
if guess2 == secret:
print "K.I.-2 hat die Zahl zuerst erraten"
if guess3 == secret:
print "K.I.-3 hat die Zahl zuerst erraten"
if guess4 == secret:
print "K.I.-4 hat die Zahl zuerst erraten"
print """Das Programm hat ", i, " Versuche gebraucht, in", zeit, Sekunden.
Die gesuchte Zahl war , secret"""
#-------------------------------------------------------------------------------
def zahlenraten2():
print "Zahlenraten!"
print "_"*10
print
print "Versuchen Sie die vom Programm zufaellig ausgesuchte Zahl zu erraten"
print "-"*80
secret = random.randint(1, 100)
nachname = raw_input("Gib deinen Vornamen ein:")
vorname = raw_input("Nun gib bitte deinen Nachnamen ein:")
name = vorname + " " + nachname
print "Hallo %s %s, schoen, dass Du hier spielen willst" % (vorname, nachname)
startzeit = time.time() #Zeit startet
while True:
try:
guess = int(raw_input("Bitte geben Sie eine Zahl ein: "))
except ValueError, exception:
print exception.message
continue
zeit = int(time.time() - startzeit) #Zeitzaehler
if guess < secret:
print "zu tief"
elif guess > secret:
print "zu hoch"
else:
print "Richtig, Sie haben das Spiel gewonnen"
break
print u"Fuer die Aufgabe haben sie ", zeit, "Sekunden benoetigt"
print "Danke fuers spielen %s %s" % (vorname, nachname)
print """Willkommen im Menue
Wenn sie sehen wollen wie der Computer eine Zahl erraet druecken Sie bitte die 1
Wenn Sie Zahlenraten spielen wollen druecken Sie bitte die 2 """
eingabe = int(raw_input("Geben sie eine Zahl ein: "))
if eingabe == 1:
zahlenraten1()
if eingabe == 2:
zahlenraten2()
werde die K.I. noch mal bearbeiten.
@Hyperion
Achja was meinst du mit Code auf modulebene, hab auch unter wiki gesucht, versteh nicht was das eigentlich ist.
Ich programmiere übrigens jetzt erst seit 3 Wochen, hab vorher nie etwas in der Richtung gemacht. Ist das Script dafür ok, oder sollte das schon wesentlich besser aussehn?