Lotto richtig tippen

Du suchst ein Programm für einen bestimmten Zweck?
inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Lotto richtig tippen

Beitrag von inne » 11.01.2022 10:58:31

Was mich bei der Glücksrakete in der Endzahllotterie erstaunt hat ist: Das Doppler wie 1 1 oder 4 4 gar nicht so selten gezogen werden.
Spiel77 bei Lotto ist doch auch eine Endzahllotterie?
https://www.ndr.de/fernsehen/sendungen/ ... te117.html

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Lotto richtig tippen

Beitrag von inne » 11.01.2022 11:15:06

:THX: :THX:
Phineas hat geschrieben: ↑ zum Beitrag ↑
10.01.2022 15:10:42

Code: Alles auswählen

shuf -i 1-49 -n 6 | sort -n
Viel Glück!
Der GNU Algo. erhöt den Gewinn nicht sonderlich :P

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Lotto richtig tippen

Beitrag von uname » 11.01.2022 11:25:26

inne hat geschrieben:Was mich bei der Glücksrakete in der Endzahllotterie erstaunt hat ist: Das Doppler wie 1 1 oder 4 4 gar nicht so selten gezogen werden.
Wenn man sich mal dein Link anschaut, dann gibt es insgesamt 16 Stellen, wo zwei Zahlen aufeinander folgen.
Die Wahrscheinlichkeit, dass die gleiche Zahl folgt liegt bei 1:10 . Dass sie nicht folgt bei 9:10.
Gerne kann man die Wahrscheinlichkeiten für die jeweiligen Ereignisse ausrechen.
Mit einer Wahrscheinlichkeit von über 81% kommt es mindestens zu einer wenn nicht mehr Dopplungen.

Oft täuscht man sich bzgl. Wahrscheinlichkeiten.
Ein schönes Beispiel ist das Geburtstagsparadoxon.

Code: Alles auswählen

6
3 0  (1)
8 2 9 (2)
2 3 4 9 (3)
6 1 1 8 2 (4)
1 2 1 0 4 4 3 (6)
Zuletzt geändert von uname am 11.01.2022 11:28:43, insgesamt 1-mal geändert.

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Lotto richtig tippen

Beitrag von inne » 11.01.2022 11:28:41

uname hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 11:25:26
@inne
Gerne kann man die Wahrscheinlichkeiten für die jeweiligen Ereignisse ausrechen.
Nein, für mich musst du das nicht! Ich habe nicht das Geld für Experiment dieser Art :-) Das Glücksraketenlos war auch nur ein Weihnachtsgescheck und Gewonnen haben wir bei 3 Losen auch nur 10 Euro beim rubbeln!
Früher habe ich mal Lotto gespielt.

//10 waren das glaube ich

Benutzeravatar
DEBIANUNDANDREAS
Beiträge: 1304
Registriert: 01.06.2013 10:37:46

Re: Lotto richtig tippen

Beitrag von DEBIANUNDANDREAS » 11.01.2022 12:26:58

@ inne
Wie kann man deinScript

Code: Alles auswählen

shuf -i 1-49 -n 6 | sort -n
um eine Schleife (6 Durchgänge und alle gleichzeitig im Terminal) anpassen?

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von reox » 11.01.2022 13:46:27

gleichzeitig ist schwieriger aber geht mit Debianparallel

Code: Alles auswählen

function lottozahlen { shuf -i 1-49 -n 6 | sort -n | paste -sd ' '; }
export -f lottozahlen
seq 6 | parallel lottozahlen
geht sicher auch noch schöner ;)
Zuletzt geändert von reox am 11.01.2022 14:09:25, insgesamt 1-mal geändert.

Benutzeravatar
DEBIANUNDANDREAS
Beiträge: 1304
Registriert: 01.06.2013 10:37:46

Re: Lotto richtig tippen

Beitrag von DEBIANUNDANDREAS » 11.01.2022 13:50:21

Code: Alles auswählen

parallel: Kommando nicht gefunden.
Was jetzt?

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von reox » 11.01.2022 13:52:50

dann halt installieren... Hab ja geschrieben du brauchst Debianparallel wenn es gleichzeitig sein soll.

Benutzeravatar
DEBIANUNDANDREAS
Beiträge: 1304
Registriert: 01.06.2013 10:37:46

Re: Lotto richtig tippen

Beitrag von DEBIANUNDANDREAS » 11.01.2022 13:56:24

@reox
danke

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 11.01.2022 19:06:41

reox hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 08:30:56
* Sequenz enthält nur gerade/ungerade zahlen: Jede zahl modulo 2 und dann schauen ob alle element 0/1 sind
* Sequenz ist x_(n+1) = x_n + k: die differenzen der zahlen bilden und schauen ob alle element == k sind. Alternativ ebenfalls mit Modulo: jede zahl modulo k muss c ergeben (zB 4, 9, ... -> 4%5 = 4, 9%5 = 4, ...)
Im Endeffekt muss man nur alle zahlen jeweils mod 2, ..., 9 (9 weil es keine sequenz in 6 aus 49 geben kann die eine größere schrittweite haben kann) nehmen und kann damit alle tests machen. Jeweils die sequenz in ein set umwandeln und schauen ob die länge 1 ist.


Ein paar andere Ideen wären noch zu schauen ob die Zahlen irgendwelchen "Mustern" auf dem Lottoschein entsprechen, ob es sich um ein Datum handelt,
@reox : DANKE!

Ich habe es so ohne meine zig if-schleifen hinbekommen. Mal angenommen in $tipp ist das zu testende array mit den 6 Zahlen:

Code: Alles auswählen

for ($a = 0; $a <= 5 ; $a++) { 
 if(($tipp[$a] % 2) =="0") {
    $gerade++;
  } else {
    $ungerade++;
  }
   if($a == "5" ){
       echo "$ungerade ungerade Zahlen / $gerade gerade Zahlen<br>";
       $gerade = "0";
       $ungerade ="0";
 }

..die Ausgabe ist nur zum Test, aber damit kann ich dann nach meinen Vorgaben bestimmte "Tipps" entfernen, z.B. wenn alle ungerade oder gerade sind...! :) ...cool! :D

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von reox » 11.01.2022 19:22:12

super, dann musst ja nur noch gewinnen 8)

aber if-schleife?^^ und vergleiche von zahlen gegen strings würd ich auch in PHP nicht unbedingt machen - auch wenns geht :?

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Lotto richtig tippen

Beitrag von JTH » 11.01.2022 19:35:53

buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:06:41
[…] meine zig if-schleifen […]
Kann nicht widerstehen ;)
Manchmal bekannt als Just (another) Terminal Hacker.

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 11.01.2022 19:36:41

reox hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:22:12
super, dann musst ja nur noch gewinnen 8)

aber if-schleife?^^ und vergleiche von zahlen gegen strings würd ich auch in PHP nicht unbedingt machen - auch wenns geht :?
..mir geht es nicht um das gewinnen, hatte ich auch schon gesagt :) aber wie würdest du es machen? und direkt eine neue frage dazu:

nun möchte ich das array noch darauf prüfen, ob die

erste zahl im bereich von 1-9 liegt, die
zweite zahl im bereich von 10-18, die
dritte zahl im bereich von 19-27, die
vierte zahl im bereich von 28-36 die
fünfte zahl im bereich von 37-45 und die
sechste zahl im bereich von 46-49
(und natürlich noch die von-bis werte variable :) )

..würden bei mir wieder endlose if-schleifen ergeben, ab der 100ten geb ich dann auf oder früher - je nachdem wieviel bier im kühlschrank ist :))

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 11.01.2022 19:39:53

JTH hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:35:53
buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:06:41
[…] meine zig if-schleifen […]
Kann nicht widerstehen ;)
..das ist auffallend richtig! :hail: - gibt dann beim jackpot zwei kisten bier für dich :)

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Lotto richtig tippen

Beitrag von JTH » 11.01.2022 19:40:55

Oh, das ist ja mal ein guter Deal :D
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
Phineas
Beiträge: 348
Registriert: 20.06.2012 20:26:19

Re: Lotto richtig tippen

Beitrag von Phineas » 11.01.2022 19:44:07

Mittlerweile mag ich die If-Schleife irgendwie, keine Ahnung warum. 8O

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 11.01.2022 19:44:42

JTH hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:40:55
Oh, das ist ja mal ein guter Deal :D
...täglich (je nach dem wie hoch der jackpot ist) :D

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von thoerb » 11.01.2022 19:58:03

buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:06:41

Code: Alles auswählen

for ($a = 0; $a <= 5 ; $a++) { 
	...
  }
   if($a == "5" ){
     ...
 }

Du deklarierst $a als Integer und vergleichst die Variable dann mit einem String. Das funktioniert zwar in PHP, ist aber trotzdem ein grober Fehler.

Versuche es mal so, dann wirst du sehen dass dein Code nicht funktioniert:

Code: Alles auswählen

if($a === "5" ){...

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Lotto richtig tippen

Beitrag von Meillo » 11.01.2022 20:23:41

buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:36:41
nun möchte ich das array noch darauf prüfen, ob die

erste zahl im bereich von 1-9 liegt, die
zweite zahl im bereich von 10-18, die
dritte zahl im bereich von 19-27, die
vierte zahl im bereich von 28-36 die
fünfte zahl im bereich von 37-45 und die
sechste zahl im bereich von 46-49
In dem Fall wuerde ich die Werte gleich passend generieren. Das scheint mir einfacher zu sein als hinterher zu pruefen.

Aber ich hatte Lust ein bisschen zu coden. Hier ein Prograemmchen, das so eine Pruefung durchfuehrt:

Code: Alles auswählen

<?php

$a = range(1, 49);
shuffle($a);
$a = array_slice($a, 0, 6);
sort($a, SORT_NUMERIC);

print_r($a);

foreach (range(1, 49, 9) as $i => $step) {
        if ($a[$i] < $step || $a[$i] >= $step + 9) {
                echo "$a[$i] not in required range\n";
        }
}

Btw: Zaehlschleifen sollten wenn moeglich diese Form haben:

Code: Alles auswählen

for ($a = 0; $a < 6 ; $a++) {
Also mit 0 starten und mit < Anzahl pruefen. (Du hast `<= 5' im Code stehen.)
Use ed once in a while!

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von reox » 11.01.2022 20:44:04

JTH hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:35:53
buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:06:41
[…] meine zig if-schleifen […]
Kann nicht widerstehen ;)
ich lass mir ja einreden, dass man schleifen mit nur einer if machen kann wenn man sprünge in der sprache hat. zB so in pseudocode

Code: Alles auswählen

marker loopbody;
[... schleifenkörper ...]
if [...]: goto loopbody;
das ist dann quasi eine do-while.
aber wer macht das schon so :D

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 12.01.2022 17:40:53

Meillo hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 20:23:41
buddy67 hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 19:36:41
nun möchte ich das array noch darauf prüfen, ob die

erste zahl im bereich von 1-9 liegt, die
zweite zahl im bereich von 10-18, die
dritte zahl im bereich von 19-27, die
vierte zahl im bereich von 28-36 die
fünfte zahl im bereich von 37-45 und die
sechste zahl im bereich von 46-49
In dem Fall wuerde ich die Werte gleich passend generieren. Das scheint mir einfacher zu sein als hinterher zu pruefen.

Aber ich hatte Lust ein bisschen zu coden. Hier ein Prograemmchen, das so eine Pruefung durchfuehrt: ....
...funktioniert super. Habe ich schon eingebaut :) Aber nach einigen Durchläufen des Scripts denke ich, dass so (step 9) zu viele Kombinationen rausgeschmissen werden. Aber ich spiele mal ein wenig mit den Abständen herum. Vielen Dank!!!
Meillo hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 20:23:41
Btw: Zaehlschleifen sollten wenn moeglich diese Form haben:

Code: Alles auswählen

for ($a = 0; $a < 6 ; $a++) {
Also mit 0 starten und mit < Anzahl pruefen. (Du hast `<= 5' im Code stehen.)
...hab ich geändert. Nochmal Danke! Auch an @reox!
reox hat geschrieben: ↑ zum Beitrag ↑
11.01.2022 20:44:04

ich lass mir ja einreden, dass man schleifen mit nur einer if machen kann wenn man sprünge in der sprache hat. zB so in pseudocode

Code: Alles auswählen

marker loopbody;
[... schleifenkörper ...]
if [...]: goto loopbody;
das ist dann quasi eine do-while.
aber wer macht das schon so :D
...ich meine solchen, Euch sicher zum schmunzeln bringende "Konstrukte": Dabei sind im array $real die tatsächlich gezogenen Zahlen in aufsteigender Reihenfolge und $tipp die mittels Script ermittelten Zahlen (auch in aufsteigender Reihenfolge was aber egal ist). Wenn eine der tatsächlich gezogenen Zahlen NICHT im array der durch das Script errechneten Zahlen ist, wird das array um diese Zahle erweitert. Hat also dann das so erstelle array 6 Werte waren alle sechs Zahlen der tatsächlich gezogenen Zahlen im array der durch das Script errechneten Zahlen -> 6 Richtige! :)))

Code: Alles auswählen

for ($i = 0; $i < 6 ; $i++) {
 if(in_array($real[$i], $tipp)) {
   // do nothing...
  } else {
    array_push($tipp, $real[$i]);
  }
  
$inarray = count($tipp);
  if($i == 5) { $treffer = $inarray; }
  }
  if($treffer == "9") {
  $gewinn = "Drei Richtige";
  $drei++;
  }
  if($treffer == "8") {
  $gewinn = "Vier Richtige";
  $vier++;
  }
  if($treffer == "7") {
  $gewinn = "F&uuml;nf Richtige";
  $fuenf++;
  }
  if($treffer == "6") {
  $gewinn = "Sechs Richtige";
  $sechs++;
  }

thoerb
Beiträge: 1677
Registriert: 01.08.2012 15:34:53
Lizenz eigener Beiträge: MIT Lizenz

Re: Lotto richtig tippen

Beitrag von thoerb » 12.01.2022 18:58:04

buddy67 hat geschrieben: ↑ zum Beitrag ↑
12.01.2022 17:40:53
Wenn eine der tatsächlich gezogenen Zahlen NICHT im array der durch das Script errechneten Zahlen ist, wird das array um diese Zahle erweitert.
Das könntest du auch so machen:

Code: Alles auswählen

 if(!in_array($real[$i], $tipp)) {
      array_push($tipp, $real[$i]);
  }
oder so:

Code: Alles auswählen

 if(in_array($real[$i], $tipp) == false) {
      array_push($tipp, $real[$i]);
  }
Dann kannst du dir das "else" sparen.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Lotto richtig tippen

Beitrag von Meillo » 12.01.2022 19:07:23

buddy67 hat geschrieben: ↑ zum Beitrag ↑
12.01.2022 17:40:53

Code: Alles auswählen

for ($i = 0; $i < 6 ; $i++) {
 if(in_array($real[$i], $tipp)) {
   // do nothing...
  } else {
    array_push($tipp, $real[$i]);
  }
  
$inarray = count($tipp);
  if($i == 5) { $treffer = $inarray; }
  }
  if($treffer == "9") {
  $gewinn = "Drei Richtige";
  $drei++;
  }
  if($treffer == "8") {
  $gewinn = "Vier Richtige";
  $vier++;
  }
  if($treffer == "7") {
  $gewinn = "F&uuml;nf Richtige";
  $fuenf++;
  }
  if($treffer == "6") {
  $gewinn = "Sechs Richtige";
  $sechs++;
  }
Ich erlaube mir mal deinen Code ordentlich einzuruecken (und den Vorschlag von thoerb aufzugreifen):

Code: Alles auswählen

for ($i = 0; $i < 6 ; $i++) {
	if(!in_array($real[$i], $tipp)) {
		array_push($tipp, $real[$i]);
	}
	$inarray = count($tipp);
	if($i == 5) {
		$treffer = $inarray;
	}
}

if ($treffer == "9") {
	$gewinn = "Drei Richtige";
	$drei++;
} else if ($treffer == "8") {
	$gewinn = "Vier Richtige";
	$vier++;
} else if ($treffer == "7") {
	$gewinn = "F&uuml;nf Richtige";
	$fuenf++;
} else if ($treffer == "6") {
	$gewinn = "Sechs Richtige";
	$sechs++;
}
... sieht doch gleich viel schoener aus. ;-)
Use ed once in a while!

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 12.01.2022 20:17:32

thoerb hat geschrieben: ↑ zum Beitrag ↑
12.01.2022 18:58:04
buddy67 hat geschrieben: ↑ zum Beitrag ↑
12.01.2022 17:40:53
Wenn eine der tatsächlich gezogenen Zahlen NICHT im array der durch das Script errechneten Zahlen ist, wird das array um diese Zahle erweitert.
Das könntest du auch so machen:

Code: Alles auswählen

 if(!in_array($real[$i], $tipp)) {
      array_push($tipp, $real[$i]);
  }
oder so:

Code: Alles auswählen

 if(in_array($real[$i], $tipp) == false) {
      array_push($tipp, $real[$i]);
  }
Dann kannst du dir das "else" sparen.
..und schon wieder eine zeile weg :) DANKE!

@Mello: Ja, sieht besser aus! ...vielleicht auch ein Grund warum ich mich öfters mal "verzettel" :)

buddy67
Beiträge: 169
Registriert: 30.06.2016 22:52:15

Re: Lotto richtig tippen

Beitrag von buddy67 » 15.01.2022 23:25:10

Mittlerweile habe ich das Script etwas modifiziert:

- Das Array aus denen die Tipps generiert werden sollen wird automatisch aus einer Webseite ermittelt (z,B. Zahl 1 wurde 10 mal nicht gezogen -> Zahl 1 -> 10x ins Array, usw.) https://www.sachsenlotto.de/portal/zahl ... ometer.jsp

- Sogenannte "unbeliebte" Zahlen können dem Array in beliebiger Menge zugefügt werden (siehe: https://brefeld.homepage.t-online.de/lottoquoten.html

- Ermittelte "Tipps" die 4 oder mehr ungerade oder gerade Zahlen enthalten werden ausgefiltert

- Auswertung: Man kann im Script die tatsächlich gezogenen Zahlen eingeben und diese mit dem vom Programm ermittelten "Treffer" auf "Gewinne" prüfen - allerdings ist hier noch das Problem, dass wenn die Ziehung gelaufen ist, die Zahlen auf der "Barometer-Seite" bereits aktualisiert sind...

Aber so ist es schon ganz gut, ich kann mir nun Zahlen nach meinen Wünschen generieren lassen :) Immerhin gab es damit 2x3 und 1x4 Treffer.. was aber leider noch nicht für Bier für alle hier reicht :))))

Antworten