# HILFE bei MasterMind in Python



## crazy_Julie (15. Februar 2012)

Hallo ihr lieben....heute habe ich totalen brainfuck und bräuchte eure Hilfe

hat einer von euch ein plan von PYTHON???
wäre super wenn ihr euch melden würdet


----------



## utakata (15. Februar 2012)

Ich bin gerade in der Aubildung und lerne Python.
Was brauchst denn genau?


----------



## crazy_Julie (15. Februar 2012)

und zwar schreib ich gerade ein programm und das hab ich auch schon angefangen....nur ich komm nicht weiter....
das ist die aufgabe:

Spielprinzip wie MasterMind.

Der Computer such sich einen 5-Stelligen Zahlencode zufällig aus und der
Spieler muss durch raten und kombinieren den Code erraten.

Der Spieler gibt einen Code ein und der Computer antwortet Wieviel
Ziffern richtig aber an der falschen Stelle sind und wie viele richtig und
an der Richtigen stelle sind. Nach 10 Versuchen hat der Spieler das
Spiel verloren.

das ist das was ich bisher hab:


```
import random

class fehler:
    pass

class masterMind(object):
    
    def __init__(self):
        self.number = "99999"
        self.CodeLaenge = 5
        self.neuesSpiel()
        self.versuche = 10
        self.geheimCode = self.randomgeheimCode()
        
    def randomgeheimCode(self):
        Code = ""
        random.seed()
        for i in range(self.CodeLaenge):
            Code += str(random.randint(0,9))
        return Code
        
    def neuesSpiel(self):
        self.geheimCode = self.randomgeheimCode()
        self.versuch = 0
        
    def raten (self, Code):
        self.check(Code)
        self.versuche += 1
        """
        schwarz = Zahl und Position richtig
        weiss = nur Zahl richtig
        """
        schwarz = 0
        weiss = 0

        i = 10
        
        for i in range(len(self.geheimCode)):
            if Code[i]==self.geheimCode[i]:
                schwarz += 1
                    
        for i1 in range(len(self.geheimCode)):
            if Code[i1]!=self.geheimCode[i1]:
                weiss += 1
        return (schwarz, weiss)


    def check(self, Code):
        # Eingabe so lang wie Code??
        
        if len(Code) != self.CodeLaenge:
            raise fehler()
        c = 0
        for c in range(self.check(Code)):
            c != str(range.randint(0,9))
        return c
                
mm = masterMind()
    
while True:
    while True:
        n = (raw_input(">> ")).upper()
        try:
            Ergebnis = mm.raten(n)
        except fehler:
            print "Bitte einen %s Stelligen Code, bis zu %s eingeben." % (mm.CodeLaenge,mm.number)
            continue
        
        print "schwarz %d - weiss %d" % (Ergebnis[0],Ergebnis[1])
        if Ergebnis[0] == mm.CodeLaenge:
            break
        
        print
        print "Du hast GEWONNEN"
        print "Der Code war %s!" % mm.geheimCode
print
```


----------

