Python Computer soll lottozahlen erraten?
Hey, ich habe einen Code geschrieben, wo ein random Lottozahlen ausgegeben werden.
Dann soll ein Computer auch random zahlen ausgeben, und es solange versuchen, bis die Lottozahlen getroffen wurden.
Jeden seiner Versuche sollte gezählt werden, und am Ende ausgeschrieben werden.
Allerdings ist bei mir ein Fehler. Wenn eine Zahl von computerzahl in den Lottozahlen enthalten ist, zählt er +1. Wenn jetzt in der Klammer 4 Zahlen stehen würden, würde er bei 3 richtigen "+3" addieren. Er sollte allerdings nur bei jeder Klammer +1 machen (Um nur den einen Versuch zu zählen)
import random
lottozahlen = random.sample(range(1,10), 3)
computertipp = random.sample(range(1,10),3)
count = 0
while lottozahlen != computertipp: print(computertipp) print(lottozahlen)
for zahl in computertipp:
if int(zahl) in lottozahlen:
count += 1
computertipp = random.sample(range(1,10),3)
print("Es wurde schon ", count, "Mal gezählt")
print("Geschafft, die richtigen Zahlen sind:",lottozahlen, computertipp, "du hast", count, "Versuche gebraucht.")
3 Antworten
Was hlältst du davon?
import random
lottozahlen = random.sample(range(1,10),4)
computertipp = random.sample(range(1,10),4)
count = 0
print(lottozahlen)
input()
while lottozahlen != computertipp:
print(computertipp)
for zahl in lottozahlen:
if int(zahl) in lottozahlen:
count += 1
computertipp = random.sample(range(1,10),4)
print("Geschafft, die richtigen Zahlen sind:",lottozahlen, computertipp,)
print("Anzahl der Berechnungen:", int(count/4))
Du kannst die for Schleife und die If weglassen oder?
Der counter sollte sich doch bei jedem durchgang um einen erhöhen, unabhängig davon ob eine/mehrere der Zahlen richtig waren.
Ja, du hast recht :P Es ist so simple, dass ich da nicht drauf komme :PPP
Danke :D
Irgend wie wurde der Code verschoben und die Einrückungen haben sich verändert.
So sollte es aussehen
import random
lottozahlen = random.sample(range(1,10), 3)
computertipp = random.sample(range(1,10),3)
count = 0
while lottozahlen != computertipp:
print(computertipp)
print(lottozahlen)
for zahl in lottozahlen:
if int(zahl) in lottozahlen:
count += 1
computertipp = random.sample(range(1,10),3)
print("Es wurde schon ", count, "Mal gezählt")
print("Geschafft, die richtigen Zahlen sind:",lottozahlen, computertipp, "du hast", count, "Versuche gebraucht.")