Schrift
[thread]5971[/thread]

Zufällig aus Array auswählen



<< |< 1 2 >| >> 15 Einträge, 2 Seiten
stb2050
 2003-12-15 18:35
#76211 #76211
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi Ihr,

habe mal eine kleine Frage :-)

Ich möchte aus einem @array einen Eintrag durch Zufall auswählen. Wie kann ich das bewerkstelligen?

Viele Grüße & vielen Dank
Steffen
renee
 2003-12-15 18:44
#76212 #76212
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
my $index = sprintf("%i",rand(scalar(@array)));
print $array[$index];
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
stb2050
 2003-12-15 19:01
#76213 #76213
User since
2003-08-14
87 Artikel
BenutzerIn
[default_avatar]
Hi renee,

danke dir vielmals, hätte nicht gedacht, dass es so einfach ist.

Happy Xmas :-)

Viele Grüße
Steffen
pq
 2003-12-15 19:05
#76214 #76214
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
geht auch noch einfacher:
my $element = $array[rand @array];
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
jan10001
 2003-12-15 22:48
#76215 #76215
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
Mal ne Frage zu rand, wie zufällig ist rand eigentlich. Sind diese Zufallszahlen brauchbar oder wiederholen sich diese des öfteren?
esskar
 2003-12-15 23:14
#76216 #76216
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=jan10001,15.12.2003, 21:48]Mal ne Frage zu rand, wie zufällig ist rand eigentlich. Sind diese Zufallszahlen brauchbar oder wiederholen sich diese des öfteren?[/quote]
Code: (dl )
print(int(rand(100)),"\n") for(1 .. 100);
jan10001
 2003-12-15 23:30
#76217 #76217
User since
2003-08-14
962 Artikel
BenutzerIn
[default_avatar]
:) Stimmt, einfach testen dann weiß man es.
Früher hatte ich ein DOS Spiel erst mit QBasic und dann mit Power Basic programmiert, dabei erwies sich rand als ziemlich zeitabhänig und produzierte zu viele gleiche Zahlen.
esskar
 2003-12-16 00:13
#76218 #76218
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
es kann zeitabhänig gemacht werden...

Code: (dl )
1
2
srand(1);
print(int(rand(100)),"\n") for(1 .. 100);


sollte immer die selbe folge von zahlen erzeugen!
Strat
 2003-12-16 01:19
#76219 #76219
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zur zufaelligkeit: rand alleine ist schon recht zufaellig, und srand wird automatisch aufgerufen, wenn rand das erste mal aufgerufen wird (seit perl5.004).
fuer mehr info: siehe perldoc -f srand
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
master
 2006-03-24 12:28
#76220 #76220
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Meine Variante:
Code: (dl )
1
2
@array = (A..Z);
print $array[rand($#array)];
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2003-12-15 18:35.