Zufällige Auswahl / random choice

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
Rimisak
User
Beiträge: 3
Registriert: Freitag 26. August 2016, 20:06

Für eine Evaluation möchte ich Zahlen sortieren. So sollen Zahlen > 0 als 'positive' eingeordnet werden, Zahlen < 0 als 'negative und Zahlen, die == 0 sind, sollen entweder zu 'positiv' oder 'negativ' eingeordnet werden. Ich möchte also eine zufällige Auswahl haben.

Bisher habe ich folgendes versucht:

Code: Alles auswählen

mylist_pos = []
mylist_neg = []
if score >= 0:
   mylist_pos.append(str(score) + 'positive')
elif score <= 0:
   mylist_neg.append(str(score) + 'negative')
Hierbei werden allerdings alle 0 automatisch zu mylist_pos zugeordnet. :cry: Gibt es eine Möglichkeit, dass die 0 mal zu mylist_pos, als auch mal zu mylist_neg zugeordnet werden?

Vielen Danke!
BlackJack

@Rimisak: Klar gibt es die Möglichkeit. Du musst das nur in Code ausdrücken. Also erst einmal die momentanen Bedingungen anpassen die offensichtlich nicht dem entsprechen was Du willst, weil sie sogar in beiden Tests die 0 mit berücksichtigen, und dann einen weiteren Zweig hinzufügen der ausgeführt wird, wenn keine der beiden anderen Bedingungen zutrifft und dann mit der 0 das macht was Du beschreibst: Zufällig per `random.choice()` eine der beiden Listen auswählen und dort die 0 anhängen.
Rimisak
User
Beiträge: 3
Registriert: Freitag 26. August 2016, 20:06

Danke!

Tut mir leid, dass ich da nochmal nachfragen muss, aber wie genau sieht das dann mit der Syntax aus?

Code: Alles auswählen

mylist_pos = []
mylist_neg = []
if score > 0:
   mylist_pos.append(str(score) + 'positive')
elif score < 0:
   mylist_neg.append(str(score) + 'negative')
else:
   random.choice(mylist_neg, mylist_pos)
oder geht das so nicht? Sorry, dass ich mich so blöd anstelle, versuche meine Python-Kenntnisse wirklich zu verbessern!
BlackJack

@Rimisak: `random.choice()` erwartet *ein* Argument, nicht zwei. Das Argument muss eine Sequenz sein aus der dann ausgewählt wird. Beispielsweise eine Liste. Dann fehlt eigentlich nur noch der `append()`-Aufruf.
Antworten