Se ofrecen a continuación unas posibles soluciones de los ejercicios de bucle for (2).
Una posible solución es la siguiente:
import random
def main():
print("TABLAS DE MULTIPLICAR (1)")
a = random.randrange(2, 11)
b = random.randrange(2, 11)
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("TABLAS DE MULTIPLICAR (2)")
preguntas = int(input("Número de preguntas: "))
if preguntas < 1:
print("El número de preguntas debe ser al menos 1.")
else:
for _ in range(preguntas):
print()
a = random.randrange(2, 11)
b = random.randrange(2, 11)
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
else:
print("¡Respuesta incorrecta!")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("TABLAS DE MULTIPLICAR (3)")
preguntas = int(input("Número de preguntas: "))
if preguntas < 1:
print("El número de preguntas debe ser al menos 1.")
else:
correctas = 0
for _ in range(preguntas):
print()
a = random.randrange(2, 11)
b = random.randrange(2, 11)
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
correctas += 1
else:
print("¡Respuesta incorrecta!")
print()
if correctas == 1:
print(f"Ha contestado correctamente 1 pregunta.")
else:
print(f"Ha contestado correctamente {correctas} preguntas.")
nota = round(correctas / preguntas * 10, 1)
print(f"Le corresponde una nota de {nota}.")
if nota >= 9:
print("¡Enhorabuena!")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("CÁLCULO ESTIMADO (1)")
a = random.randrange(11, 100)
b = random.randrange(11, 100)
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
elif abs(respuesta - a * b) / (a * b) < 0.1:
print(f"¡Ha fallado por menos del 10%! La respuesta correcta era {a * b}.")
elif abs(respuesta - a * b) / (a * b) < 0.3:
print(f"¡Ha fallado por menos del 30%! La respuesta correcta era {a * b}.")
else:
print(f"¡Ha fallado por más del 30%! La respuesta correcta era {a * b}.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("CÁLCULO ESTIMADO (2)")
cantidad = int(input("Número de preguntas: "))
if cantidad < 1:
print("El número de preguntas debe ser al menos 1.")
else:
for _ in range(cantidad):
a = random.randrange(11, 100)
b = random.randrange(11, 100)
print()
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
elif abs(respuesta - a*b)/(a*b) < 0.1:
print(f"¡Ha fallado por menos del 10%! La respuesta correcta era {a * b}.")
elif abs(respuesta - a*b)/(a*b) < 0.3:
print(f"¡Ha fallado por menos del 30%! La respuesta correcta era {a * b}.")
else:
print(f"¡Ha fallado por más del 30%! La respuesta correcta era {a * b}.")
if __name__ == "__main__":
main()
Una posible solución es la siguiente:
import random
def main():
print("CÁLCULO ESTIMADO (3)")
cantidad = int(input("Número de preguntas: "))
if cantidad < 1:
print("El número de preguntas debe ser al menos 1.")
else:
correctas = 0.0
for _ in range(cantidad):
a = random.randrange(11, 100)
b = random.randrange(11, 100)
print()
respuesta = int(input(f"¿Cuánto es {a} x {b}? "))
if respuesta == a * b:
print("¡Respuesta correcta!")
correctas += 10
elif abs(respuesta - a*b)/(a*b) < 0.1:
print(f"¡Ha fallado por menos del 10%! La respuesta correcta era {a * b}.")
correctas += 6.66
elif abs(respuesta - a*b)/(a*b) < 0.3:
print(f"¡Ha fallado por menos del 30%! La respuesta correcta era {a * b}.")
correctas += 3.33
else:
print(f"¡Ha fallado por más del 30%! La respuesta correcta era {a * b}.")
nota = round(correctas / cantidad, 1)
print()
print(f"Le corresponde una nota de {nota}.")
if nota >= 9:
print("¡Enhorabuena!")
if __name__ == "__main__":
main()