Egoist Geschrieben Juni 27, 2018 Share Geschrieben Juni 27, 2018 (bearbeitet) Hallo Forscher! Soweit ich bisher den Stand der Technik richtig erfasst habe, programmieren hier alle unter Excel, wenn sie schon eine Weile dabei sind. Es hat sich in der Welt da draussen aber inzwischen eine Menge getan! Alle Leute, die heute etwas auf sich zählen, kennen zumindest Python, oder nutzen bereits die eleganten Möglichkeiten dieser Sprache. Ich will da nicht länger tatenlos zusehen und arbeite mich jetzt in das Fachgebiet ein. Hat hier sonst noch jemand das Gefühl abgekoppelt zu sein? Lasst es uns angehen... Gruss vom Ego bearbeitet Juni 27, 2018 von Egoist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
dolomon Geschrieben Juni 27, 2018 Share Geschrieben Juni 27, 2018 (bearbeitet) Nun, da mach ich mit! Dolomon bearbeitet Juni 27, 2018 von dolomon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Feuerstein Geschrieben Juni 27, 2018 Share Geschrieben Juni 27, 2018 (bearbeitet) Hallo Ego, abgekoppelt in gewissem Sinne schon, Excel reicht einfach nicht mehr. Am Anfang war das easy in Excel rein zu kommen, die ganzen starren Spielphantasien da reinzutippen. Heute reicht es mir nicht mehr. Vor 10 Jahren versuchte ich mal in VBA rein zu kommen, und war mit den Büchern hoffnungslos überfordert, ließ es sausen. Bis dahin hatte ich nur Erfahrungen in Basic auf nem Amiga. Die Schnelligkeit, mit der du hier Pyhton umgesetzt hast, hat mich sehr erstaunt. Eine deutliche Neugier habe ich dadurch. Die Hauptfrage ist dann immer, wo/womit fange ich an, um auch einen motivierenden Start zu haben... Grüße Feuerstein bearbeitet Juni 27, 2018 von Feuerstein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
dolomon Geschrieben Juni 27, 2018 Share Geschrieben Juni 27, 2018 Ja, so eine gewisse "Anleitung" einen " Schubs" den brauchte ich auch. Sage mir was für eine Lektüre ich brauche! Dolo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
novice Geschrieben Juni 27, 2018 Share Geschrieben Juni 27, 2018 https://www.python-kurs.eu/kurs.php Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 27, 2018 Autor Share Geschrieben Juni 27, 2018 Hallo Mitstreiter! Als erste Massnahme sind die notwendigen Dateien zu installieren. Das wäre zunächst einmal Python selbst und zwar in der Version 3.6. Mit der 64bit Version für Windows kann es beim nachrüsten mit weiteren (wichtigen) Biblioteken zu Problemen bei der Installation kommen, daher im Zweifelsfall die 32bit Version versuchen. Dann braucht man einen Texteditor, mit dem man auch gut klarkommen sollte. Mit IDLE bringt Python schon eine rudimentäre Entwicklungsumgebung mit. Wer keine englischen Videos versteht, kann sich mal folgenden Clip geben: https://www.youtube.com/watch?v=lUDM93YQwsQ Diese Reihe geht dann auch die Grundzüge von Python (recht verschult) durch. Youtube bietet tausende Clips zu allen Möglichkeiten bis hin zur KI uvm. allerdings vor allem auf englisch. Eine sehr gute Entwicklungsumgebung bietet das kostenfreie "PyCharm" Vor allen Dingen klappt das mit der Installation der Bibliotheken auch mit der 64bit Version reibungslos und komfortabel. Ein etwas ungelenkes, weil vermutlich ohne Plan erzeugtes Video zu PyCharm gibt es auf deutsch hier: https://www.youtube.com/watch?v=laKR56zgOpg Wenn Ihr einen richtig fähigen Pythonprogrammierer sehen wollt, schaut Euch mal die Videos von "sentdex" (english) an. Hier ein etwas älteres Tutorial zu den Basics : https://www.youtube.com/watch?v=UsCQXe1OHZk&list=PLQVvvaa0QuDe8XSftW-RAxdo6OmaeL85M&index=3 Wenn Ihr Python installiert habt, kann es auch bald losgehen... Gruss vom Ego Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 27, 2018 Autor Share Geschrieben Juni 27, 2018 vor 9 Stunden schrieb novice: https://www.python-kurs.eu/kurs.php Hallo novice, Danke für den schönen Link! Unter dem Reiter "numerisches Python" wird auf die beiden für uns wichtigsten Bibliotheken (Libraries) "numpy" und "matplotlib" hingewiesen. Die werden wir baldmöglichst zum Einsatz bringen. Gruss vom Ego Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
novice Geschrieben Juni 28, 2018 Share Geschrieben Juni 28, 2018 (bearbeitet) Ich habe mir installiert: ANACONDOR mit spider als editor bearbeitet Juni 28, 2018 von novice Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
dolomon Geschrieben Juni 28, 2018 Share Geschrieben Juni 28, 2018 @Egoist , bitte noch eben Geduld. Ich bin noch nicht so weit. Ich habe mehrere Möglichkeiten zu Installieren. AUF EINE LINUX Maschine, windows 7, windows 10 ! Was würdest du bevorzugen? Ein Nachteil noch von mir........, ich kann kein Englisch, höchstens rudimentäre Begriffe. Das was ich im Endeffekt damit machen möchte ist, mein Invers-Spiel zu programmieren das es womöglich auch noch auf Android läuft. ( mit eurer Hilfe )! Vielen Dank Dolomon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 28, 2018 Autor Share Geschrieben Juni 28, 2018 vor 4 Stunden schrieb dolomon: @Egoist , bitte noch eben Geduld. Ich bin noch nicht so weit. Ich habe mehrere Möglichkeiten zu Installieren. AUF EINE LINUX Maschine, windows 7, windows 10 ! Was würdest du bevorzugen? Das ist doch egal, mach auf allen und arbeite auf der Maschine, mit der besten Tastatur und dem grössten Bildschirm. vor 4 Stunden schrieb dolomon: Ein Nachteil noch von mir........, ich kann kein Englisch, höchstens rudimentäre Begriffe. Das ist sehr schade, vielleicht lernst Du erst einmal Englisch? vor 4 Stunden schrieb dolomon: Das was ich im Endeffekt damit machen möchte ist, mein Invers-Spiel zu programmieren das es womöglich auch noch auf Android läuft. ( mit eurer Hilfe )! Nana, mal langsam und kleinere Brötchen backen, Du kannst in einer neuen Sprache auch nicht gleich schöne Gedichte verfassen. Gruss vom Ego Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 28, 2018 Autor Share Geschrieben Juni 28, 2018 vor 8 Stunden schrieb novice: Ich habe mir installiert: Dann bist Du sicherlich voll ausgerüstet. Gebraucht werden zunächst numpy und matplotlib. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 29, 2018 Autor Share Geschrieben Juni 29, 2018 (bearbeitet) Damit mal was vorangeht poste ich eine kommentierte Version eines kleinen Programms: #Eine Pythondatei ist eine normale und menschenlesbare Testdatei, # sie bekommt die Dateiendung .py #Zu Beginn werden die Pakete importiert, welche zusätzliche Funktionalität einbringen import numpy as np import matplotlib.pyplot as plt #Das "as" ist optional und erlaubt es in Zukunft z.B. "np" synonym zu "numpy" zu benutzen. #Alle Zeilen, die mit "#" beginnen sind nur Kommentare und werden bei der Ausführung übersprungen. # Es werden 37 Zufallszahlen im Bereich von 0 bis 36 ermittelt neuePerm = np.random.random_integers(0,36,size=37) #so wirft man sie auf den Schirm print("Unsere Rotation ergab folgende Zahlen:\n",neuePerm) #Es wird eine festgelegte Zeichenkette zwischen den "" ausgegeben und danach die kommaseparierte Variable (Liste) #die Methode bincount zählt alle 37 Zahlen durch bc = np.bincount(neuePerm , minlength=37) #Nun haben wir alle Treffer sortiert nach Vorkommen 0x, 1x, 2x usw in bc #das Ergebnis ist eine Tabelle in der die Treffer auf Zero zuerst stehen, # gefolgt von den Treffern auf 1 ... 36 print("\nDas ergibt folgendes Trefferbild:\n",bc) #Wenn "\n" in den Zeichenketten auftaucht, ist das ein Zeilenumbruch # Graphisch ausgeben als Histogramm #Erkärung folgt bei Bedarf plt.hist(bc, color='r') plt.hist(neuePerm,bins=73, color="g" , alpha=0.4) plt.show() Natürlich habe ich auch einen Fehler eingebaut, den ich aber in dem Fenster oben nicht mehr verschlimmbessern kann. Laufen sollte das Programm aber trotzdem fehlerfrei, wenn alle Pakete richtig vorinstalliert wurden. Nur Mut! Es lohnt sich Python zu lernen! Gruss vom Ego Edit: Was im Code als Testdatei bezeichnet wurde, muss natürlich Textdatei heissen. bearbeitet Juni 30, 2018 von Egoist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
novice Geschrieben Juni 29, 2018 Share Geschrieben Juni 29, 2018 thx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
novice Geschrieben Juni 29, 2018 Share Geschrieben Juni 29, 2018 (bearbeitet) Damit dürfte auch die Warningmessage korr. sein: neuePerm = np.random.randint(0,36+1,size=37) bearbeitet Juni 29, 2018 von novice Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Feuerstein Geschrieben Juni 29, 2018 Share Geschrieben Juni 29, 2018 vor 9 Stunden schrieb Egoist: Damit mal was vorangeht poste ich eine kommentierte Version eines kleinen Programms: Nur Mut! Es lohnt sich Python zu lernen! Gruss vom Ego Bhoh Ego, das ist mal ein Anfang für Dummies, finde ich großartig!!! Dankeschöön! Nicht das ich das jetzt nachmachen könnte, Zeit gibt´s grad nicht, aber das ist hier ja auch we ein Notizbuch und immer verfüg- oder nachschlagbar Grüße Feuerstein Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 29, 2018 Autor Share Geschrieben Juni 29, 2018 vor 12 Stunden schrieb novice: neuePerm = np.random.randint(0,36+1,size=37) Stimmt, das ist die neue Version der abgekündigten Funktion, die ich noch benutzt habe. Bei der neuen Funktion ist das letzte Element nicht mehr enthalten, daher ist 36+1 zu verwenden. Das hast Du sehr schön gemacht @novice Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 30, 2018 Autor Share Geschrieben Juni 30, 2018 Damit es wieder ein wenig Anschub für Euch gibt, kümmern wir uns heute um die EC Rot-Schwarz Das ist die bestbeachteste einfache Chance, aber die Zahlen lassen sich nicht einfach berechnen, Rot und Schwarz wurden willkürlich auf dem Filz verteilt, ebenso wie die Zahlenfolge im Kessel. Denn von dieser Kesselfolge hängen die Farben unmittelbar ab. Da man die Kesselfolge später noch für viele andere Dinge brauchen kann, hacken wir sie einfach mal ein. import numpy as np import time roulKessel = [0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29, 7, 28, 12, 35, 3, 26] roulRot = np.zeros(18) roulSchwarz = np.zeros(18) roulFarbe = np.zeros(37) Die beiden import-zeilen sollten von der Bedeutung schon bekannt sein. Neu ist zwar das Modul time, aber das brauchen wir erst später im s_cript. roulKessel definiert die Liste aller Kesselzahlen beginnend mit Zero und zwar im Uhrzeigersinn. Darunter werden 3 leere numpyarrays definiert, die gleich gefüllt werden sollen. roulRot soll alle roten Zahlen enthalten, roulSchwarz alle schwarzen. roulFarbe ist ein Array, welches mit 0 (für Grün) für Zero an Position 0 befüllt werden soll, an Position 1 mit +1 für Rot und mit -1 für schwarz an Position 2 usw... Position 0 ist die Zero und erhält in roulFarbe[0] eine 0 Position 32 ist die rechts neben der Zero, sie ist eine rote Zahl, also wird in roulRot[0] eine 32 vermerkt. Da sich rote und schwarze Zahlen im Kessel abwechseln, kann man das auch berechnen. Vorher kommt noch ein Teil, den ich noch nicht erkläre: pRot ="\033[1;41;37m" pGrün ="\033[0;42;30m" pSchwarz ="\033[0;40;37m" pNorm ="\033[0m" pFarbe =[pSchwarz, pGrün, pRot] pZahl = [] Dieser Schnipsel ist in der Tat etwas abwegig, er wird auch erst später eingesetzt. Einfach einkopieren und später nachfragen. Nun kommt die Zuordnung der Farben, abgeleitet von der Kesselposition.: for x in range(0, 18): roulRot[x] = roulKessel[x*2+1] roulSchwarz[x] = roulKessel[x*2+2] Das kann man vielleicht auch eleganter lösen, aber ich bin blutiger Anfänger. x läuft in einer Schleife von 0...17 (die Endbedingung=18 ist immer exklusiv in Python). Nun werden sowohl roulRot, als auch roulSchwarz mit den Kesselzahlen befüllt, die ihre Farbe haben. Durch die Multiplikation mit 2 hüpft x in 2er Schritten durch den Kessel und sammelt alle roten Zahlen ein. Die passende schwarze Zahl wird immer rechts daneben (+2 statt +1 in der Formel) eingesammelt. Jetzt wird das Farbarray befüllt, damit man später damit arbeiten kann. for x in range(0, 37): if x in roulRot: roulFarbe[x]=1 elif x in roulSchwarz: roulFarbe[x]=-1 else: roulFarbe[x]=0 Fallunterscheidungen hatten wir noch nicht besprochen. Vorgeschädigte aus Excel kennen diese unter dem Begriff WENN("bla";"Blubb";"42") Hier in Python nennt sich das schlicht "if" , gefolgt von der Bedingung (im ExcelTeil "bla"). Was "for" macht, bitte ich inständig selbst zu ermitteln, soviel geben auch deutsche Youtubevideos locker her. Hier läuft also x durch 37 Zustände von 0...36, Dann wird nachgesehen, ob es eine rote Zahl ist und wird wenn ja, in roulFarbe als+1 eingetragen. Andernfalls wird nachgesehen, ob es eine schwarze Zahl ist, falls ja, erhält roulFarbe dort eine -1. Nur bei Zero taucht x nicht in den Farben auf und roulFarbe erhält eine 0 an der Stelle (0). Zur Kontrolle werfen wir nun roulFarbe aus. for x in range(0,37): if x<10: temp = pFarbe[int(roulFarbe[x])+1]+" "+str(x)+" "+pNorm else: temp = pFarbe[int(roulFarbe[x]) + 1] +" "+ str(x) + " " + pNorm print(temp, end="") pZahl.append(temp) print() Auch hier wird ein Schleife (for loop) für x durchlaufen, die die Zustände von 0 bis 36 einnimmt. Die Fallunterscheidung hier beguckt, ob wir es mit einer 1 oder 2stelligen Zahl zu tun haben. Alle einstelligen Zahlen bekommen eine Leerstelle (Space) mehr, als die 2 stelligen, damit die Textausgaben gleichlang werden. Der resultierenden Zeichenkette "Leerzeichen+optionales Leerzeichen+Zahl+Leerzeichen", werden zwei vorbestimmte Zeichenketten (s.o.) voran, bzw nachgestellt. Diese stellen nur die Farben für die Textausgabe auf der Konsole um und nach der Ausgabe wieder zurück. Es sollte bei Euch eine abgerollte Kesselfolge auf dem Schirm, farblich korrekt erscheinen, sonst habe ich wieder einen Fehler eingebaut. Gruss vom Ego Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
novice Geschrieben Juni 30, 2018 Share Geschrieben Juni 30, 2018 (bearbeitet) Alles Ok bearbeitet Juni 30, 2018 von novice Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
wiensschlechtester Geschrieben Juni 30, 2018 Share Geschrieben Juni 30, 2018 (bearbeitet) Da in den letzten Monaten die Sprache in der ich meine Roulette-Apps schrieb in die digitale Wüste, nach etwa fünfjährigen Bestehen, geschickt wurde bin ich sowieso auf der Suche nach geeignetem Ersatz. Tja, und für meine Bedürfnisse sind sowieso zwei Sprachen nötig. Python hat ja schon weit mehr Jahre auf dem Buckel, wird somit auch nicht so schnell verschwinden. Kleine Anmerkung an dolomon: Mein Hauptaugenmerk liegt auf die kleinen handlichen Rechner genannt Smartphones. Stets dabei für den praktischen Einsatz. Ist mir schon klar, dafür ist es nicht die Ideallösung, beim Äpfelchen fast unbrauchbar, aber als Zweitsprache sollte es schon reichen. Bei Smartphones gibt es die Möglichkeit sich auf ein Betriebssystem zu spezialisieren, oder sich mit Java, C++ und Swift gleichzeitig anzufreunden, sollte man den jeweiligen Vorgaben folgen, oda ma pfeift drauf und macht s ganz anders. Laien wie mir, denen auch schon mal die Orientierungslosigkeit eines Pointers zur Last gelegt wurde, dabei was i net amoi wer des is da Herr Pointer, sind ja schon mit viel weniger zufrieden - Hauptsache einfach. @Egoist Der Gedanke die Arbeit für ein paar Roulette spezifische Bibliotheken aufzuteilen ist bestechend logisch, und ich werde demnächst einsteigen. bearbeitet Juni 30, 2018 von wiensschlechtester Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juni 30, 2018 Autor Share Geschrieben Juni 30, 2018 vor einer Stunde schrieb wiensschlechtester: @Egoist Der Gedanke die Arbeit für ein paar Roulette spezifische Bibliotheken aufzuteilen ist bestechend logisch, und ich werde demnächst einsteigen. Moin Wiener, es freut mich sehr, wenn Du hier mitmachen willst, denn an überquellendem Interesse leidet der Thread bisher nicht Ich habe keine Ahnung, wie Du seit 5 Jahren Androiden programmiert hast, aber da kann ich Dich auch trösten. Ohne mich bisher sehr dafür interessiert zu haben, lief mir dazu ein "Kivy" über den Weg. Soweit ich das verstanden habe, ist das eine Bibliotek, die Python-Anwendungen für Smartphones kompatibel hält und anschliessend .apk sowie das Pendant für Apfelprodukte kompilieren kann. Da Du sicherlich englisch zumindest verstehen kannst, guckst Du hier: https://www.youtube.com/watch?v=CYNWK2GpwgA&list=PLQVvvaa0QuDe_l6XiJ40yGTEqIKugAdTy Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juli 1, 2018 Autor Share Geschrieben Juli 1, 2018 vor 16 Stunden schrieb novice: Alles Ok Hallo @novice, ganz so ok scheint es noch nicht zu sein, die schwarzen Zahlen sehen noch etwas schlapp aus, weil ich vergessen hatte, sie fett auszugeben. Ausserdem habe ich inzwischen entdeckt, dass mir PyCharm so allerhand Verbesserungen anempfohlen hat, das aber sehr dezent, so dass man es nicht sofort merkt. Der Variablenname "pGrün" z.B., enthält ein Sonderzeichen, das ist unschön und ich habe es korrigiert (ist nun pGruen). Du scheinst schon gut in das Thema eingestiegen zu sein, mit Anaconda hast Du auf alle Fälle die umfangreichere Umgebung wie ich. Vielleicht hast Du ja schon Ideen, wie wir uns weiter entwickeln können, oder was Du gern programmiert hättest. Als einsamer Vorturner, vergeht mir bestimmt rasch die Lust. Gruss vom Ego Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juli 1, 2018 Autor Share Geschrieben Juli 1, 2018 Heute der vorerst letzte Teaser, weil ich mehr Videos angeschaut habe, als selbst etwas zu schreiben. Dieses Mal sind die Kommentare auch wieder im Code, denn ich finde es nicht gut, Code und Kommentare zu trennen. Der Quellcode quillt zusehens 80 Zeilen sind zwar noch nicht die Welt, zumal kommentiert wurde, aber mehr sollte es dann auch nicht werden. import numpy as np import time from typing import TextIO roulKessel = [0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29, 7, 28, 12, 35, 3, 26] roulRot = np.zeros(18) roulSchwarz = np.zeros(18) roulFarbe = np.zeros(37) pRot = "\033[1;41;37m" pGruen = "\033[1;42;30m" pSchwarz = "\033[1;40;37m" pNorm = "\033[0m" pFarbe = [pSchwarz, pGruen, pRot] pZahl = [] for x in range(0, 18): roulRot[x] = roulKessel[x * 2 + 1] roulSchwarz[x] = roulKessel[x * 2 + 2] for x in range(0, 37): if x in roulRot: roulFarbe[x] = 1 elif x in roulSchwarz: roulFarbe[x] = -1 else: roulFarbe[x] = 0 for x in range(0, 37): if x < 10: temp = pFarbe[int(roulFarbe[x]) + 1] + " " + str(x) + " " + pNorm else: temp = pFarbe[int(roulFarbe[x]) + 1] + " " + str(x) + " " + pNorm print(temp, end="") pZahl.append(temp) print() start = time.time() # speichert den aktuellen Zeitpunkt in start rotationen = 100000 # Bei 16GB nicht höher als 20Mio gehen, sonst swap oder MemoryError neuePerm = np.random.randint(0, 37, size=rotationen * 37) print(neuePerm) # wird glücklicherweise nicht voll ausgeführt # in der nächsten Zeile wir start von der aktuellen Zeit wieder abgezogen print("Ziehung von", neuePerm.size, "Coups dauerte:", time.time() - start, "Sekunden") bal = 0 # speichert die Balance von Rot und Schwarz, negative Werte für Schwarzüberschuss nul = 0 # zählt die Nullstellen mit min = 0 # hier wird immer das tiefste Minus (also der grösste Schwarzüberschuss) festgehalten. max = 0 # hier das gleiche für Pluswerte (Rotüberschuss) for x in range(neuePerm.size): # x läuft von 0 bis Permanenzende bal = bal + roulFarbe[neuePerm[x]] # neuePerm[x] ist die xte Ziehung (Start immer bei 0) if bal == 0: # Hier ist eine Nullstelle gefunden nul = nul + 1 # sie wird nummeriert (startet bei 1.) und dann ausgegeben: print(str(nul) + ". Nullstelle bei Coup", x, "Zwischenstand:", int(bal), "Min:", int(min), "Max:", int(max)) if min > bal: # neues Minimum gefunden min = bal # wird festgehalten if max < bal: # neues Maximum gefunden max = bal # und festhalten # Schleifenende wenn nicht mehr eingerückt wird # Bitte das wichtige Thema der Einrückung in Python nachlesen! # Finale Ausgabe nach dem letzten Coup # hier wird eine neue Möglichkeit genutzt Strings (Zeichenketten) in Python zu formatieren. # die Methode format füllt an den numerierten Platzhaltern {x} den jeweils xten Parameter ein # es wird erst ein temporärer String (temp) erzeugt, da die Ausgabe 2x erfolgen wird temp = "{0} Nullstellen bei Coup {1} Endstand:{2} Min:{3} Max:{4} Dauer: {5}sec".format(str(nul), str(neuePerm.size), str(int(bal)), str(int(min)), str(int(max)), str(time.time() - start)) print(temp) #hier die Ausgabe auf der Konsole # Zusätzlich wird die finale Ausgabe an eine Textdatei angehängt # damit man später die Ergebnisse mehrerer Durchläufe vergleichen kann. # Man sorge dafür, dass auf Laufwerk D: ein Verzeichnis namens temp exsistiert # oder der Pfad muss vorher geändert werden. f: TextIO = open("D:\\temp\\test" + str(neuePerm.size) + ".txt", "a") #öffnet zum anhängen "a" f.write(temp + "\n") #schreibt in die Datei und beendet mit Zeilenende f.close() # schliesst die Datei wieder, das ist wichtig. Bitte nicht stumpf kopieren und speichern/starten, denn in den Kommentaren steht was über den erforderlichen Pfad, ohne den nix geht. Gruss vom Ego p.s.: Es ist sehr vom verfügbaren Hauptspeicher abhängig, wie gross man die Permanenz wählen darf. Spätestens bei 25Mio Rotationen machte mein Lappy die Backen dick und das ist immerhin ein I7 mit 16GB und 4GB NVidia GraKa. Unter Umständen friert der komplette Rechner ein (ganz im Gegenteil, weil er heiss laufen wird) und wird unbenutzbar, bis Python das Programm abbricht, oder Du killst es selbst... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juli 1, 2018 Autor Share Geschrieben Juli 1, 2018 (bearbeitet) Als nächstes, würde ich vorschlagen, kümmern wir uns mal um Funktionsdefinitionen und Klassen. Dann wird es wirklich langsam produktiv. Ausserdem könnte man damit beginnen, fertige Codeteile in einer Bibliothek zu konservieren, was nachfolgenden Code wieder schlank und rank machen wird. Mal als Beispiel anhand von der Klasse Coup: Wir definieren einen Coup, der hat verschiedene Eigenschaften Die rote oder schwarze bzw grüne Farbe zum Beispiel ist abhängig von der Zahl, die gezogen wurde. Es gibt aber noch die beiden anderen EC, wer mitarbeitet, sollte diese schon passend programmieren können. Der Coup hat aber noch viele andere Eigenschaften, wie Dutzend, Kolonne, TVS, TVP, Carre, Kesselsektor usw... Ausserdem gibt es noch historische Daten, die man nicht vergessen sollte, z.B. das letzte Auftreten der Plein Dann brauchen wir die Klasse Permanenz: Die kann Eigenschaften speichern, wie Ziehungsort und Zeit dann hortet sie eine Liste von Coups und sie kann abhängig von der Zeit, oder der Coupnummer, eine Statistik erstellen uvm... Es gibt viel zu packen, tun wir es an... bearbeitet Juli 1, 2018 von Egoist Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
wiensschlechtester Geschrieben Juli 1, 2018 Share Geschrieben Juli 1, 2018 vor 1 Stunde schrieb Egoist: Moin Wiener, es freut mich sehr, wenn Du hier mitmachen willst, denn an überquellendem Interesse leidet der Thread bisher nicht Ich habe keine Ahnung, wie Du seit 5 Jahren Androiden programmiert hast, aber da kann ich Dich auch trösten. Ohne mich bisher sehr dafür interessiert zu haben, lief mir dazu ein "Kivy" über den Weg. Soweit ich das verstanden habe, ist das eine Bibliotek, die Python-Anwendungen für Smartphones kompatibel hält und anschliessend .apk sowie das Pendant für Apfelprodukte kompilieren kann. Da Du sicherlich englisch zumindest verstehen kannst, guckst Du hier: https://www.youtube.com/watch?v=CYNWK2GpwgA&list=PLQVvvaa0QuDe_l6XiJ40yGTEqIKugAdTy Moin Nichtwiener, also ich hatte anfänglich auch mit windowsphones zu tun, daher auch ein kurzfristiger Softwarewechsel, danach war mir das Betriebssystem ziemlich egal. Danke für die Info, Kivy scheint sehr beliebt zu sein, bin schon vorher darüber gestolpert, doch das Thema mobile devices sollten wir auf später verschieben, wenn noch Interesse herrscht. Servus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Egoist Geschrieben Juli 1, 2018 Autor Share Geschrieben Juli 1, 2018 vor 24 Minuten schrieb wiensschlechtester: das Thema mobile devices sollten wir auf später verschieben, wenn noch Interesse herrscht. Jo, es besteht. Momentan kämpfe ich mit mir, ob ich mir das S8 Note holen soll. Seit Jahren besitze ich das Note 8.0, welches mir immer Freude bereitet hat, bis der Akku eingeknickt ist. Nach einer Operation war aber der Akkutausch auch gegessen und es rennt wie neu, auch nach Bauchklatscher auf den Badezimmerfliesen... Auf alle Fälle steht die Auslagerung von Klassen weit vorne auf der ToDo-Liste. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Wie ist deine Meinung dazu?
Du kannst jetzt schreiben und dich später registrieren. Bereits registrierter Teilnehmer? Dann melde dich jetzt an, um einen Kommentar zu schreiben.
Hinweis: Dein Beitrag wird nicht sofort sichtbar sein.