Du bist nicht angemeldet.

Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

1

Mittwoch, 20. Juli 2011, 14:03

Lottozahlen Script

Hi,
heute hatte mich ein Freund gefragt, ob es nicht Möglich wäre, per einfachem Script Lottozahlen zu generieren und diese abzuspeichern.

Dadurch ist dieses Script zustande gekommen:

PHP-Quelltext

1
<?phpfunction lottozahlen($max,$output){  $a = array();  for($i = 0; $i < $max; $i++)  {    $a[] = $i;  }  shuffle($a);  for($dummy = 0; $dummy < $output; $dummy++)  {    echo $a[$dummy].',';  }} echo lottozahlen(49,6); ?>


Wir ihr ganz unten sehen könnt, der Aufruf lautet lottozahlen(Gesamtanzahl,Anzahl der Auszugebenen)

Vielleicht kanns ja jemand gebrauchen!

2

Samstag, 23. Juli 2011, 10:59

Das hätte man noch etwas schöner machen können,..

Hier ein Update:

PHP-Quelltext

1
<?php    function lottozahlen($min, $max, $output) {        $a = array();        $b = array();                // Erstelle n Zahlen von X bis Y        for($i = $min; $i < $max; $i++) {            $a[] = $i;        }                // Random shuffle        shuffle($a);                // Nur Maximal n Zahlen ausgeben        for($i = 0; $i < $output; $i++) {            $b[] = $a[$i];        }                return $b;    }        $ausgabe = lottozahlen(0, 49, 6);        print_r($ausgabe);        print "<br>Folgende Zahlen wurden gezogen: ";    for($i = 0; $i < count($ausgabe); $i++) {        print $ausgabe[$i];        if($i < count($ausgabe) - 1) {            print ", ";        }    }?>


1. Nun kann auch eine Startzahl angegeben werden (von Nummer X bis nummer Y)
2. Die Ausgabe ist nun als Array. Warum? Man sollte es auch weiterverarbeiten können,...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Blizzard« (19. Februar 2013, 12:22)


Comu

Anfänger

  • »Comu« ist der Autor dieses Themas

Beiträge: 19

Wohnort: Nordreihn-Westfalen

Beruf: Schüler

  • Private Nachricht senden

3

Samstag, 23. Juli 2011, 12:04

Völlig unnötig meiner Meinung.

1.) Wofür brauch man eine Startzahl beim Lotto? Es wird automatisch bei 1 angefangen, oder schonmal Lotto gesehen wo es die ersten 20 Zahlen nichtmal gibt?
2.) Wofür ein Array? Ein einfaches $zahlen = explode(',',$var); hätte doch vollkommen gereicht. Da muss man doch nicht ein ganzes Array draus basteln, lediglich eine Variable hinzufügen.

Umständlich ist nicht immer besser als einfach ;)

4

Sonntag, 31. Juli 2011, 01:50

Echt gute Ansätze hab es aber etwas anders gelöst:

PHP-Quelltext

1
<?php function lottozahlen($count, $max) {    $zahlen = array_rand(range(0, $max), $count + 1);    sort($zahlen);    $lottozahlen = '';        for($i=1; $i<($count) + 1; $i++) {            $lottozahlen .= $zahlen[$i] . ',';        }                    $lottozahlen = substr($lottozahlen, 0, -1);                        return $lottozahlen;}print lottozahlen(6, 49); ?>


Mit freundlichen Grüßen Integer

Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von »Integer« (31. Juli 2011, 03:59)


5

Sonntag, 31. Juli 2011, 02:15

Na ja vielleicht sind das alles gute Ansätze doch für mich keineswegs nach vollziehbar

hab da jetzt mal 2 Minuten dran getüftelt und meiner Meinung nach, reicht diese Variante vollkommend aus:
[...]
Mit freundlichen Grüßen Integer


Ich denke, der Unterschied zwischen seiner Methode und deiner ist, dass bei ihm Zahlen von 1 bis 49 ausgegeben werden, wobei keine doppelt vorkommt. Bei deiner hingegen kommen sie eventuell doppelt vor.
€dit:

Ich überarbeite ebenfalls mal Comu's Version in meine Variante, welche ich persönlich bevorzuge. Außerdem werden wie schon gesagt beim Lotto Zahlen von 1 bis 49 genommen und nicht 0 bis 48 ;)

PHP-Quelltext

1
<?php function lottozahlen($max, $output) {    $a = array();    $b = array();            for($i = 1; $i <= $max; $i++) {        $a[] = $i;    }     shuffle($a);    for($i = 0; $i < $output; $i++) {        $b[] = $a[$i];    }        return $b;}echo implode(", ", lottozahlen(49, 6));?>