Estoy haciendo un programa que, en parte, tira cuatro dados y resta los dados más bajos del resultado. El código que estoy usando es¿Existe alguna forma más eficiente de organizar los resultados aleatorios por tamaño en Python?
die1 = random.randrange(6) + 1
die2 = random.randrange(6) + 1
die3 = random.randrange(6) + 1
die4 = random.randrange(6) + 1
if die1 <= die2 and die1 <= die3 and die1 <= die4:
drop = die1
elif die2 <= die1 and die2 <= die3 and die2 <= die4:
drop = die2
elif die3 <= die1 and die3 <= die2 and die3 <= die4:
drop = die3
else:
drop = die4
cha = die1 + die2 + die3 + die4 - drop
Eso es lo mejor que pude hacer con mi hasta ahora limitada capacidad de codificación. ¿Hay una mejor manera de organizar los cuatro dados en orden de tamaño, luego sumar los tres más altos sin tener en cuenta los restos? ¿O es el código que estoy usando la mejor manera de hacerlo?
sólo un consejo, random.randrange acepta un parámetro de inicio. Utilice 'random.randrange (1, 7)' para evitar agregar 1 al resultado. – Ponkadoodle
Pensé que era random.randint que lo hizo, y randrange tenía que ser un único número que representara un número aleatorio de 0 a ese número. Aunque ahora que vuelvo a mirar el código, debería haber usado 5 en lugar de 6 – Mella
. En caso de duda, consulte la documentación. randrange: http://docs.python.org/library/random.html#random.randrange y randint: http://docs.python.org/library/random.html#random.randint –