hallo, Anfänger meldet sich nochmal:
ich hab mir jetzt eine andere Lösung überlegt, die auch noch einen Vorteil hat.
Es handelt sich um die Aufzeichnung von Roulettezahlen der Kategorien manque und passe, (1 -18 und 19 -36)
- wenn ich am Anfang eine Reihe von Zahlen eingeben kann und im Anschluss daran dann einzelne Zahlen, kann ich erstens mal
eine Reihe von gefallenen Zahlen beobachten, und die dann insgesamt eingeben, - und- ich kann bequem an einem anderen Tag
die history nachvollziehen (wenn ich die Zahlen vom Vortag noch habe) (der Zufallsreihe ist es nämlich egal, von welchem Tag die Zahlen sind ...)
der Grafikteil wurde mit turtle gemacht, mit tkinter bin ich noch nicht so fit ..
die erste Kurve stellt den "Trendverlauf " dar, die zweite ist eine ganz traditionelle Art der Buchführung von Roulettespielern.
das Programm:
Code: Alles auswählen
from math import ceil
from itertools import accumulate
from turtle import*
#Buchführung für manque(1 bis 18) und passe(19 bis 36) beim Roulette
#mit turtle-Grafik
setup(width=1.0, height=0.5, startx=None,starty=None)
screensize(canvwidth=1620, canvheight=200)
speed(0)
color("blue")
jack=Turtle()
jack.hideturtle()
jack.color("black")
jack.speed(0)
tina=Turtle()
tina.hideturtle()
tina.color("red")
tina.speed(0)
olga=Turtle()
olga.hideturtle()
olga.color("blue")
olga.speed(1)
up();home();goto(800,0);down();back(1550);
jack.up();jack.home();jack.goto(800,-150);jack.down();jack.back(1550);
def quadrat_a():
up()
right(90)
fd(9)
left(90)
down()
fillcolor("black")
begin_fill()
for i in range (4):
fd(8)
left(90)
up()
fd(10)
down()
end_fill()
def quadrat_b():
up()
left(90)
fd(9)
right(90)
down()
fillcolor("black")
begin_fill()
for i in range (4):
fd(8)
left(90)
up()
fd(10)
down()
end_fill()
def quadrat_c():
jack.up()
jack.sety(s)
jack.down()
jack.fillcolor("black")
jack.begin_fill()
for i in range (4):
jack.fd(8)
jack.left(90)
jack.up()
jack.fd(10)
jack.down()
jack.end_fill()
#der erste Block des Programmes:
#Zuerst eine beliebig lange Reihe von Roulettezahlen, die grafisch dargestellt werden
#Zahlen ohne Komma mit Leerzeichen eingeben
print()
alle = list([])
for i in input("number: ").split(): #eine Reihe von Roulettezahlen!
alle.append(int(i))
if alle[0]<19:
quadrat_a()
else:
up();right(90);fd(8);left(90);down();
quadrat_b()
if alle[0]<19:
s = -160
quadrat_c()
else:
s = -148
quadrat_c()
print()
allezahlen =len(alle)
print('das sind ', allezahlen,"zahlen")
print()
for i in alle[1:]:
i = i
if i <19:
quadrat_a()
else:
quadrat_b()
for i in alle[1:]:
if i<19:
s = -160
else:
s = -148
quadrat_c()
translate = list(map(lambda x: ceil(x/18), alle))
print("manque/passe: ",translate)
print()
passe=[] #die Prozente
counted = accumulate(1 if m == 2 else 0 for m in translate)
for i, (n, translate) in enumerate(zip(translate, counted), start=1):
passe.append(translate)
print("passe: ",passe)
print()
tina.up();tina.goto(-746,0);tina.down();
for i,v in enumerate(passe):
tina.goto(-746+i*10, v*3)
trans = list(map(lambda x: ceil(x/18), alle))
manque=[]
counted = accumulate(1 if m == 1 else 0 for m in trans)
for i, (n, trans) in enumerate(zip(trans, counted), start=1):
manque.append(trans)
print("manque: ",manque)
print()
print(len(manque))
olga.up();olga.goto(-746,0);olga.down();
for i,v in enumerate(manque):
olga.goto(-746+i*10, v*3)
#der zweite Block des Programmes:
#ab hier sollen die Zahlen einzeln hinzugefügt und die Grafik ergänzt werden!!!
def main():
global alle
for i in input("number: ").split(): #eine einzelne Zahl!!
alle.append(int(i))
i = i
if i <19:
quadrat_a()
else:
quadrat_b()
global s #set(y), positionierung der turtle
for i in alle[1:]:
if i<19:
s = -160
else:
s = -148
quadrat_c()
print("das sind",len(alle),"Zahlen: ",alle) #die gefallenen Roulettezahlen
print()
translate = list(map(lambda x: ceil(x/18), alle))
print("manque/passe: ",translate)#die gefallenen Zahlen, nach passe oder manque übersetzt
print()
passe = [] #fortlaufende Anzahl von passe (2 in translate)
counted = accumulate(1 if m == 2 else 0 for m in translate)
for i, (n, translate) in enumerate(zip(translate, counted), start=1):
passe.append(translate)
print("passe: ",passe)
tina.up();tina.goto(-746,0);tina.down();
for i,v in enumerate(passe):
tina.goto(-746+i*10, v*3)
print()
trans = list(map(lambda x: ceil(x/18), alle))
print()
manque = [] #fortlaufende Anzahl von manque (1 in trans)
counted = accumulate(1 if m == 1 else 0 for m in trans)
for i, (n, trans) in enumerate(zip(trans, counted), start=1):
manque.append(trans)
print("manque: ", manque)
olga.up();olga.goto(-746,0);olga.down();
for i,v in enumerate(manque):
olga.goto(-746+i*10, v*3)
print()
print()
print()
main()
main()
jetzt kommt die Fehlermeldung in der shell:
>>> ================================ RESTART ================================
>>>
number: 3 25 34 19 6 9 29
das sind 7 zahlen
manque/passe: [1, 2, 2, 2, 1, 1, 2]
passe: [0, 1, 2, 3, 3, 3, 4]
manque: [1, 1, 1, 1, 2, 3, 3]
7
number: 12
Traceback (most recent call last):
File "C:/Users/schnuggler/Desktop/Roulette/Arbeit/m_p_nominalversuch_4.py", line 244, in <module>
main()
File "C:/Users/schnuggler/Desktop/Roulette/Arbeit/m_p_nominalversuch_4.py", line 185, in main
if i <19:
TypeError: unorderable types: str() < int()
>>>
der erste Block wird abgearbeitet, beim zweiten der input abgelehnt, es ist doch das gleiche list objekt,
und ebenfalls .append(int()), -ich glaub ich hab ein Brett vorm Kopf ...
lasst es mal bei Euch laufen, wahrscheinlich übersehe ich da konsequent etwas einfaches ... :K :K
