Se ofrecen a continuación unas posibles soluciones de los ejercicios de if ... elif ... else ... Minijuegos (1).
Una posible solución es la siguiente:
import random
def main():
print("JUEGO DE DADOS (1)")
a = random.randrange(1, 7)
b = random.randrange(1, 7)
print(f"Alberto ha sacado un {a}.")
print(f"Bárbara ha sacado un {b}.")
if a == b:
print("Han empatado.")
elif a > b:
print("Ha ganado Alberto.")
else:
print("Ha ganado Bárbara.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("JUEGO DE DADOS (2)")
a_1 = random.randrange(1, 7)
a_2 = random.randrange(1, 7)
b_1 = random.randrange(1, 7)
b_2 = random.randrange(1, 7)
max_a = max(a_1, a_2)
max_b = max(b_1, b_2)
print(f"Carmen ha sacado un {a_1} y un {a_2}.")
print(f"David ha sacado un {b_1} y un {b_2}.")
if a_1 + a_2 > b_1 + b_2:
print("Ha ganado Carmen.")
elif a_1 + a_2 < b_1 + b_2:
print("Ha ganado David.")
else:
if max_a > max_b:
print("Ha ganado Carmen.")
elif max_a < max_b:
print("Ha ganado David.")
else:
print("Han empatado.")
if __name__ == "__main__":
main()
En vez de if ... else ... anidados se podía haber utilizado un único if ... elif ... else ...
import random
def main():
print("JUEGO DE DADOS (2)")
a_1 = random.randrange(1, 7)
a_2 = random.randrange(1, 7)
b_1 = random.randrange(1, 7)
b_2 = random.randrange(1, 7)
max_a = max(a_1, a_2)
max_b = max(b_1, b_2)
print(f"Carmen ha sacado un {a_1} y un {a_2}.")
print(f"David ha sacado un {b_1} y un {b_2}.")
if a_1 + a_2 > b_1 + b_2:
print("Ha ganado Carmen.")
elif a_1 + a_2 < b_1 + b_2:
print("Ha ganado David.")
elif max_a > max_b:
print("Ha ganado Carmen.")
elif max_a < max_b:
print("Ha ganado David.")
else:
print("Han empatado.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("JUEGO DE DADOS (3)")
a_1 = random.randrange(1, 7)
a_2 = random.randrange(1, 7)
b_1 = random.randrange(1, 7)
b_2 = random.randrange(1, 7)
max_a = max(a_1, a_2)
max_b = max(b_1, b_2)
min_a = min(a_1, a_2)
min_b = min(b_1, b_2)
print(f"Elena ha sacado un {a_1} y un {a_2}.")
print(f"Fernando ha sacado un {b_1} y un {b_2}.")
if max_a > max_b:
print("Ha ganado Elena.")
elif max_a < max_b:
print("Ha ganado Fernando.")
else:
if min_a > min_b:
print("Ha ganado Elena.")
elif min_a < min_b:
print("Ha ganado Fernando.")
else:
print("Han empatado.")
if __name__ == "__main__":
main()
En este ejercicio los casos se pueden ordenar de muchas distintas. Una posibilidad es la siguiente:
import random
def main():
print("JUEGO DEL QUINCE")
g_1 = random.randrange(1, 11)
g_2 = random.randrange(1, 11)
g_3 = random.randrange(1, 11)
h_1 = random.randrange(1, 11)
h_2 = random.randrange(1, 11)
h_3 = random.randrange(1, 11)
g = g_1 + g_2 + g_3
h = h_1 + h_2 + h_3
print(f"Gloria ha sacado un {g_1}, un {g_2} y un {g_3}.")
print(f"Héctor ha sacado un {h_1}, un {h_2} y un {h_3}.")
if g > 15 and h > 15:
print("No ha ganado nadie.")
elif g == h:
print("Han empatado.")
elif h > 15:
print("Ha ganado Gloria.")
elif g <= 15 and g > h:
print("Ha ganado Gloria.")
else:
print("Ha ganado Héctor.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("PIEDRA, PAPEL, ... ¡TIJERA!")
i = random.randrange(1, 4)
j = random.randrange(1, 4)
print("Inés ha sacado ", end="")
if i == 1:
print ("piedra.")
elif i == 2:
print ("papel.")
else:
print("tijera.")
print("Juan ha sacado ", end="")
if j == 1:
print ("piedra.")
elif j == 2:
print ("papel.")
else:
print("tijera.")
if i == j:
print("Han empatado.")
elif i == 1 and j == 3:
print("Ha ganado Inés.")
elif i == 2 and j == 1:
print("Ha ganado Inés.")
elif i == 3 and j == 2:
print("Ha ganado Inés.")
else:
print("Ha ganado Juan.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("PIEDRA, PAPEL, ... ¡TIJERA!")
i = random.choice(["piedra", "papel", "tijera"])
j = random.choice(["piedra", "papel", "tijera"])
print(f"Inés ha sacado {i}.")
print(f"Juan ha sacado {j}.")
if i == j:
print("Han empatado.")
elif i == "piedra" and j == "tijera":
print("Ha ganado Inés.")
elif i == "tijera" and j == "papel":
print("Ha ganado Inés.")
elif i == "papel" and j == "piedra":
print("Ha ganado Inés.")
else:
print("Ha ganado Juan.")
if __name__ == "__main__":
main()