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.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 24. Januar 2006, 20:05

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...

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Thyestes
User
Beiträge: 23
Registriert: Dienstag 10. Januar 2006, 22:38

Beitragvon Thyestes » Mittwoch 25. Januar 2006, 15: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"

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder