shuffle

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lipflop
User
Beiträge: 4
Registriert: Freitag 12. September 2008, 15:14

Samstag 29. November 2008, 14:28

Hallo

bin ein neuer Python-Anfänger .. habe mir ein kleines Programm geschrieben das test.py heißt:

Code: Alles auswählen

links=["ich","laufe","hause","keine ahnung","komisch"]
links=shuffle(links)

print links[0]
in der Kommandozeile sagte er mir aber das shuffle nicht definiert sei ...

was ist falsch ?
vielen dank für eure hilfe ;)

lg phil
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Samstag 29. November 2008, 14:47

Nuja das Problem ist eben, dass `shuffle' nicht definiert ist.

Wenn du random.shuffle meinst, dann musst du das so machen:

Code: Alles auswählen

import random
links = ["ich", "laufe", "hause", "keine ahnung", "komisch"]
links = random.shuffle(links)

print links[0]
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Samstag 29. November 2008, 14:52

cofi hat geschrieben:Nuja das Problem ist eben, dass `shuffle' nicht definiert ist.

Wenn du random.shuffle meinst, dann musst du das so machen:

Code: Alles auswählen

import random
links = ["ich", "laufe", "hause", "keine ahnung", "komisch"]
links = random.shuffle(links)

print links[0]
Das Problem ist auch, dass shuffle keine gemischte Liste zurückliefert, sondern in-place mischt ... :wink:
lipflop
User
Beiträge: 4
Registriert: Freitag 12. September 2008, 15:14

Samstag 29. November 2008, 15:58

ok mit random.shuffle klappt es leider auch nicht ...

also ich möchte zufällig ein wert aus der liste auswählen .. wie mache ich das nun am besten ?

lg phil
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Samstag 29. November 2008, 16:03

random.choice() ;)
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Samstag 29. November 2008, 16:04

lipflop hat geschrieben:ok mit random.shuffle klappt es leider auch nicht ...

also ich möchte zufällig ein wert aus der liste auswählen .. wie mache ich das nun am besten ?

lg phil
Doch, sicher klappt es mit random.shuffle.
Du hast aber anscheinend meine Bemerkung im letzten Post nicht verstanden.

Wenn es nur darum geht, ein Element auszuwählen, dann kannst du auch random.choice() verwenden.

In jedem Fall empfehle ich dir einen Blick in die Dokumentation des random-Moduls, damit du dann auch verstehst, warum es shuffle mit nicht so funktioniert, wie es jetzt da steht (aber eben anders ...). :wink:
lipflop
User
Beiträge: 4
Registriert: Freitag 12. September 2008, 15:14

Samstag 29. November 2008, 16:19

ich glaub langsam wird es mir etwas peinlich...

mit random.coice klappt es jetzt, und ich möchte ja auch nur zufällig ein element aus der liste auswählen ...

jetzt klappt das programm zwar, aber jetzt gibt er mir nur die anfangsbuchstaben aus... also i,h,k,l .. kann man mit irgendwas die sachen komplett darstellen
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Samstag 29. November 2008, 16:25

lipflop hat geschrieben:ich glaub langsam wird es mir etwas peinlich...

mit random.coice klappt es jetzt, und ich möchte ja auch nur zufällig ein element aus der liste auswählen ...

jetzt klappt das programm zwar, aber jetzt gibt er mir nur die anfangsbuchstaben aus... also i,h,k,l .. kann man mit irgendwas die sachen komplett darstellen
Du hast die Grundlagen von Python noch nicht verstanden. Das ist ohne vernünftige Lektüre kaum zu schaffen.

choice() liefert eben keine Liste, sondern nur ein Element der Liste. Wenn du trotzdem "links[0]" einsetzt, dann bekommst du eben nur den 1. Buchstaben, weil "links" eine Zeichenkette ist ...

Darum: LIES DAS TUTORIAL!
lipflop
User
Beiträge: 4
Registriert: Freitag 12. September 2008, 15:14

Samstag 29. November 2008, 17:04

Ok ich habe es jetzt hinbekommen ...

Werde mir auch mal die Tutorials anschauen;)

Vielen Dank und ein schönes Wochenende ;)
Benutzeravatar
roschi
User
Beiträge: 225
Registriert: Samstag 29. März 2008, 18:58
Wohnort: Thueringen, Deutschland
Kontaktdaten:

Samstag 29. November 2008, 17:25

wie ich es schon so oft getan habe - ich kann nur 'byte of python' empfehlen!

lg
roschi
[size=117]Fuer Alle, die in Python einsteigen wollen, kann ich das Buch [url=http://abop-german.berlios.de/]A Byte of Python[/url] nur waermstens empfehlen![/size]
Antworten