Seite 1 von 1

Verfasst: Dienstag 24. Januar 2006, 20:05
von jens
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...

Verfasst: Mittwoch 25. Januar 2006, 15:38
von Thyestes
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"