Se ofrecen a continuación unas posibles soluciones de los ejercicios (3) de bucle while.
import random
def main():
print("LOS 20 (1)")
seguir = input("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
while seguir == "":
tirada = random.randrange(1, 6)
print(f"Tirada: {tirada}")
print()
seguir = input("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
def main():
print("LOS 20 (2)")
seguir = input("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
suma = 0
while seguir == "":
tirada = random.randrange(1, 6)
suma += tirada
print(f"Tirada: {tirada} - Suma: {suma}")
print()
seguir = input("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
def main():
print("LOS 20 (3)")
seguir = input(
"Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: "
)
suma_1 = 0
suma_2 = 0
while seguir == "":
tirada_1 = random.randrange(1, 6)
suma_1 += tirada_1
tirada_2 = random.randrange(1, 6)
suma_2 += tirada_2
print(f"Jugador 1: Tirada: {tirada_1} - Suma: {suma_1}")
print(f"Jugador 2: Tirada: {tirada_2} - Suma: {suma_2}")
print()
seguir = input(
"Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: "
)
if suma_1 + suma_2 == 0:
print("No se ha lanzado ningún dado.")
elif suma_1 > suma_2:
print("Ha ganado el jugador 1.")
elif suma_2 > suma_1:
print("Ha ganado el jugador 2.")
else:
print("¡Empate!")
if __name__ == "__main__":
main()
import random
def main():
print("LOS 20 (4)")
print("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
print()
suma_1 = 0
suma_2 = 0
tirar_1 = input("Jugador 1: ")
if tirar_1 == "":
sigue_1 = True
else:
sigue_1 = False
tirar_2 = input("Jugador 2: ")
if tirar_2 == "":
sigue_2 = True
else:
sigue_2 = False
while sigue_1 or sigue_2:
if sigue_1:
tirada_1 = random.randrange(1, 6)
suma_1 += tirada_1
print(f"Jugador 1 - Tirada: {tirada_1} - Suma: {suma_1}")
else:
print(f"Jugador 1 - Suma: {suma_1}")
if sigue_2:
tirada_2 = random.randrange(1, 6)
suma_2 += tirada_2
print(f"Jugador 2 - Tirada: {tirada_2} - Suma: {suma_2}")
else:
print(f"Jugador 2 - Suma: {suma_2}")
print()
if sigue_1:
tirar_1 = input("Jugador 1: ")
if tirar_1 == "":
sigue_1 = True
else:
sigue_1 = False
if sigue_2:
tirar_2 = input("Jugador 2: ")
if tirar_2 == "":
sigue_2 = True
else:
sigue_2 = False
print()
print(f"Jugador 1 - Suma: {suma_1}")
print(f"Jugador 2 - Suma: {suma_2}")
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
def main():
print("LOS 20 (5)")
print("Pulse Intro para lanzar el dado. Pulse otra tecla e Intro para terminar: ")
print()
suma_1 = 0
suma_2 = 0
tirar_1 = input("Jugador 1: ")
if tirar_1 == "":
sigue_1 = True
else:
sigue_1 = False
tirar_2 = input("Jugador 2: ")
if tirar_2 == "":
sigue_2 = True
else:
sigue_2 = False
while sigue_1 or sigue_2:
if sigue_1:
tirada_1 = random.randrange(1, 6)
suma_1 += tirada_1
print(f"Jugador 1 - Tirada: {tirada_1} - Suma: {suma_1}")
else:
print(f"Jugador 1 - Suma: {suma_1}")
if sigue_2:
tirada_2 = random.randrange(1, 6)
suma_2 += tirada_2
print(f"Jugador 2 - Tirada: {tirada_2} - Suma: {suma_2}")
else:
print(f"Jugador 2 - Suma: {suma_2}")
print()
if sigue_1:
tirar_1 = input("Jugador 1: ")
if tirar_1 == "":
sigue_1 = True
else:
sigue_1 = False
if sigue_2:
tirar_2 = input("Jugador 2: ")
if tirar_2 == "":
sigue_2 = True
else:
sigue_2 = False
print()
print(f"Jugador 1 - Suma: {suma_1}")
print(f"Jugador 2 - Suma: {suma_2}")
if suma_1 > 20 and suma_2 > 20:
print("¡Empate!")
elif suma_2 > 20:
print("Ha ganado el jugador 1.")
elif suma_1 > 20:
print("Ha ganado el jugador 2.")
elif suma_1 > suma_2:
print("Ha ganado el jugador 1.")
elif suma_2 > suma_1:
print("Ha ganado el jugador 2.")
else:
print("¡Empate!")
if __name__ == "__main__":
main()
import random
seguir = ""
while seguir == "":
tirada_1 = random.randrange(1, 6)
tirada_2 = random.randrange(1, 6)
tirada_3 = random.randrange(1, 6)
print(f"Tirada: {tirada_1} {tirada_2} {tirada_3}")
seguir = input("Pulse Intro para volver a jugar, otra tecla e Intro para terminar: ")
print()
print("Programa terminado.")
import random
seguir = ""
while seguir == "":
n_1 = random.randrange(1, 6)
n_2 = random.randrange(1, 6)
n_3 = random.randrange(1, 6)
print(f"Tirada: {n_1} {n_2} {n_3}")
if n_1 == n_2 == n_3:
print("Hay tres números iguales")
elif n_1 == n_2 or n_1 ==n_3 or n_2 == n_3:
print("Hay dos números iguales")
else:
print("No hay números iguales")
seguir = input("Pulse Intro para volver a jugar, otra tecla e Intro para terminar: ")
print()
print("Programa terminado.")
import random
monedas = 1
print("Empieza la partida con 1 moneda.")
print()
seguir = ""
while seguir == "":
n_1 = random.randrange(1, 7)
n_2 = random.randrange(1, 7)
n_3 = random.randrange(1, 7)
print(f"Tirada: {n_1} {n_2} {n_3}")
if n_1 == n_2 == n_3:
monedas += 4
print(f"Ha ganado 5 monedas. Ahora tiene {monedas} moneda(s).")
elif n_1 == n_2 or n_1 ==n_3 or n_2 == n_3:
monedas += 1
print(f"Ha ganado 2 monedas. Ahora tiene {monedas} moneda(s).")
else:
monedas -= 1
print(f"No ha ganado nada. Ahora tiene {monedas} moneda(s).")
seguir = input("Pulse Intro para volver a jugar, otra tecla e Intro para terminar: ")
print()
print("Programa terminado.")
import random
print("TRAGAPERRAS")
print("En cada tirada, se le cobrará una moneda.")
monedas = int(input("¿Con cuántas monedas quiere empezar? "))
while monedas < 1:
print("Debe empezar con al menos 1 moneda")
monedas = int(input("¿Con cuántas monedas quiere empezar? "))
inicial = monedas
print()
print(f"Empieza la partida con {monedas} moneda(s).")
print()
seguir = ""
while seguir == "" and monedas != 0:
n_1 = random.randrange(1, 7)
n_2 = random.randrange(1, 7)
n_3 = random.randrange(1, 7)
print(f"Tirada: {n_1} {n_2} {n_3}")
if n_1 == n_2 == n_3:
monedas += 4
print(f"Ha ganado 5 monedas. Ahora tiene {monedas} moneda(s).")
elif n_1 == n_2 or n_1 ==n_3 or n_2 == n_3:
monedas += 1
print(f"Ha ganado 2 monedas. Ahora tiene {monedas} moneda(s).")
else:
monedas -= 1
print(f"No ha ganado nada. Ahora tiene {monedas} moneda(s).")
if monedas > 0:
seguir = input("Pulse Intro para volver a jugar, otra tecla e Intro para terminar: ")
print()
print(f"Ha acabado la partida con {monedas} moneda(s).")
if monedas > inicial:
print(f"Ha ganado {monedas - inicial} moneda(s).")
elif monedas < inicial:
print(f"Ha perdido {inicial - monedas} moneda(s).")
else:
print("No ha perdido ni ganado monedas.")
print("Programa terminado.")
import random
def main():
print("OPERACIONES (1)")
print("Escriba el resultado de las siguientes operaciones:")
correctas = 0
while correctas < 5:
a = random.randrange(1, 101)
b = random.randrange(1, 101)
respuesta = int(input(f"{a} + {b} = "))
if respuesta == a + b:
correctas += 1
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
print()
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
def main():
print("OPERACIONES (2)")
cantidad = int(
input(
"¿Cuántas operaciones correctas debe contestar para terminar el programa? "
)
)
while cantidad < 1:
print("El número de operaciones debe ser mayor que cero.")
cantidad = input(
"¿Cuántas operaciones correctas debe contestar para terminar el programa? "
)
print()
print("Escriba el resultado de las siguientes operaciones:")
correctas = 0
total = 0
while correctas < cantidad:
a = random.randrange(1, 101)
b = random.randrange(1, 101)
respuesta = int(input(f"{a} + {b} = "))
total += 1
if respuesta == a + b:
correctas += 1
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
print()
if cantidad == 1 and total == 1:
print(f"Ha acertado 1 operación en 1 intento.")
elif cantidad == 1:
print(f"Ha acertado 1 operación en {total} intentos.")
else:
print(f"Ha acertado {correctas} operaciones en {total} intentos.")
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
import time
def main():
print("OPERACIONES (3)")
cantidad = int(
input(
"¿Cuántas operaciones correctas debe contestar para terminar el programa? "
)
)
while cantidad < 1:
print("El número de operaciones debe ser mayor que cero.")
cantidad = int(
input(
"¿Cuántas operaciones correctas debe contestar para terminar el programa? "
)
)
print()
print("Escriba el resultado de las siguientes operaciones:")
correctas = 0
total = 0
inicio = time.time()
while correctas < cantidad:
a = random.randrange(1, 101)
b = random.randrange(1, 101)
respuesta = int(input(f"{a} + {b} = "))
total += 1
if respuesta == a + b:
correctas += 1
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
print()
final = time.time()
print(f"Ha tardado {round(final - inicio, 1)} segundos en ", end="")
if cantidad == 1:
print("acertar 1 operación ", end="")
else:
print(f"acertar {correctas} operaciones ", end="")
if total == 1:
print("en 1 intento.")
else:
print(f"en {total} intentos.")
print("Programa terminado.")
if __name__ == "__main__":
main()
import random
from time import time
cantidad = int(input("¿Cuántas operaciones correctas debe contestar para terminar el programa? "))
while cantidad < 1:
print("El número de operaciones debe ser mayor que cero")
cantidad = input("¿Cuántas operaciones correctas debe contestar para terminar el programa? ")
print()
seguir = "S"
minimo = float("inf")
while seguir == "S" or seguir == "s":
print("Escriba el resultado de las siguientes operaciones")
correctas = 0
total = 0
inicio = time()
while correctas < cantidad:
a = random.randrange(1, 101)
b = random.randrange(1, 101)
respuesta = int(input(f"{a} + {b}: "))
total += 1
if respuesta == a + b:
correctas += 1
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
print()
final = time()
tiempo = round(final - inicio, 1)
if tiempo < minimo:
minimo = tiempo
print(f"Ha tardado {tiempo} segundos en ", end="")
if cantidad == 1:
print("acertar 1 operación ", end="")
else:
print(f"acertar {correctas} operaciones ", end="")
if total == 1:
print("en 1 intento.")
else:
print(f"en {total} intentos.")
seguir = input("¿Quiere probar otra vez? (S/N): ")
print()
print(f"Su tiempo mínimo ha sido {minimo} segundos.")
print("Programa terminado.")
Por escribir