wie kann ich den Abschnitt in def auswahl(): mit den vielen if und elif vereinfachen? Gibt es etwas, womit ich das kompakter ausführen kann?
Wie kann man für den markierten Fall "elif laenge1 != 0 and laenge2 == 0 and laenge3 != 0" Werte für random so übergeben, daß random nur Zufälle von 1-7 und 10 auswählt. 8 und 9 sollen dann nicht vorkommen.
Das geht mit random.randrange wahrscheinlich nicht, oder?
Wie kann es funktionieren?
Code: Alles auswählen
import random
laenge1 = random.randrange(0, 2)
laenge2 = random.randrange(0, 2)
laenge3 = random.randrange(0, 2)
print 'Kontrollausgabe laenge1 = %d' %laenge1
print 'Kontrollausgabe laenge2 = %d' %laenge2
print 'Kontrollausgabe laenge3 = %d' %laenge3
auswahl()
def auswahl():
if laenge1 == 0 and laenge2 == 0 and laenge3 == 0:
u_grenze = 0
o_grenze = 1
# eine laenge ist ungleich null
elif laenge1 != 0 and laenge2 == 0 and laenge3 == 0:
u_grenze = 1
o_grenze = 7
elif laenge1 == 0 and laenge2 != 0 and laenge3 == 0:
u_grenze = 7
o_grenze = 10
elif laenge1 == 0 and laenge2 == 0 and laenge3 != 0:
u_grenze = 10
o_grenze = 11
# zwei laengen sind ungleich 0
elif laenge1 != 0 and laenge2 != 0 and laenge3 == 0:
u_grenze = 1
o_grenze = 10
elif laenge1 == 0 and laenge2 != 0 and laenge3 != 0:
u_grenze = 7
o_grenze = 11
################################################################################
# hier ist es noch kritisch, wenn laenge2 == 0 ist kann das mit random.randrange
# nicht beschrieben werden, oder?
elif laenge1 != 0 and laenge2 == 0 and laenge3 != 0:
u_grenze = 1 # soll sein 1 -7
o_grenze = 11 #soll sein 10 - 11
################################################################################
# in allen 3 f-Ordnern befindet sich eine f.txt Datei
elif laenge1 != 0 and laenge2 != 0 and laenge3 != 0:
u_grenze = 1
o_grenze = 11
print 'Kontrollausgabe: o_grenze in steuerung(o_grenze, u_grenze): = %d' %o_grenze
print 'Kontrollausgabe: u_grenze in steuerung(o_grenze, u_grenze): = %d' %u_grenze
z_zahl = random.randrange(u_grenze, o_grenze)
print 'z_zahl = %d\n' %z_zahl
return z_zahl
py-mule