Selber Raten vom Computer

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Und hier mal meine Variante verteilt auf ein paar Funktionen:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random

minzahl = 1
maxzahl = 100
meinezahl = random.randrange(minzahl,maxzahl)

def raten():
    i = 0
    while True:
        try:
            val = int(raw_input("Dein Vorschlag? "))
            if not minzahl <= val <= maxzahl:
                raise ValueError
            i += 1
        except ValueError:
            print "Bitte einen gültigen Vorschlag eingeben..."
            continue
        if val < meinezahl:
            print "Meine Zahl ist größer..."
        elif val > meinezahl:
            print "Meine Zahl ist kleiner..."
        else:
            break

    return i

def ende(i):
    print "Danke für's Raten nach %s Versuchen!" % i
    if i in (1,2):
        print "Super"
    elif i in (3,4):
        print "Sehr gut"
    elif i == 5:
        print "Gute Leistung"
    elif i in (6,7,8):
        print "Mittelmäßige Leistung"
    else:
        print "Schwache Leistung"

def wiederholen():
    try:
        i = raw_input("Wiederholen Ja/Nein ?").lower()
    except:
        return False
    if i in ("ja","j","y"):
        return True
    else:
        return False

if __name__ == "__main__":
    while True:
        versuche = raten()
        ende(versuche)
        if not wiederholen():
            break
Die Ja/Nein Abfrage kann man sicherlich noch ein wenig kürzer gestalten...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Thyestes
User
Beiträge: 23
Registriert: Dienstag 10. Januar 2006, 22:38

Vielen Dan für die Mühe. Eure programmgefehle sind einleuchent, aber man muss erst mal darauf kommen. Vor allem mit dem :

Code: Alles auswählen

if i in (1,2):
        print "Super"
    elif i in (3,4):
        print "Sehr gut"
    elif i == 5:
        print "Gute Leistung"
    elif i in (6,7,8):
        print "Mittelmäßige Leistung"
    else:
        print "Schwache Leistung"
Antworten