es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Creación de hojas de cálculo

Estoy tratando de hacer una hoja de ejercicios de matemáticas para alumnos de primaria. Quería hacerlo usando la función np.random.randint para generar algunos números de dos, tres y cuatro dígitos y luego procesar los números para formar una hoja de ejercicios de la manera en que un alumno de primaria está acostumbrado.
Estoy teniendo problemas para unir los números generados para que se vean como en este enlace 1
Con mi código actual, llegué a esto

q1=q2=[]
q1= [two_digit[0],two_digit[1]]
q2=[two_digit[2],two_digit[3]]
addition="+".join(map(str,q2))
print(addition)

esto da una salida como esta

55+50

¿Hay alguna manera mejor de manipular los números enteros para convertirlos en cadenas y luego formatearlos de manera que se puedan imprimir fácilmente?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay diferentes formas de manipular números enteros y unirlos como cadenas de texto. Una posibilidad es utilizar las f-strings para formatear la cadena de texto con los marcadores de posición adecuados. Aquí tienes un ejemplo de código que genera una hoja de ejercicios de matemáticas con números aleatorios de 2, 3 y 4 dígitos:

    import numpy as np
    
    # generar números aleatorios
    dos_digitos = np.random.randint(10, 100, size=5)
    tres_digitos = np.random.randint(100, 1000, size=5)
    cuatro_digitos = np.random.randint(1000, 10000, size=5)
    
    # crear hoja de ejercicios con problemas de ejemplo
    hoja_ejercicios = []
    for i in range(5):
        problema = f"{dos_digitos[i]} + {tres_digitos[i]} + {cuatro_digitos[i]} = ____"
        hoja_ejercicios.append(problema)
    
    # imprimir hoja de ejercicios
    for i, problema in enumerate(hoja_ejercicios, 1):
        print(f"P{i}. {problema}")
    

    Este código utiliza la función randint de numpy para generar enteros aleatorios en los rangos especificados. Luego utiliza un bucle for para crear una lista de cadenas de texto con los problemas de matemáticas, utilizando las f-strings para insertar los números en la cadena. Por último, imprime los problemas con un bucle y la función enumerate para agregar números de pregunta. La salida se ve algo así:

    P1. 34 + 819 + 6527 = ____
    P2. 81 + 871 + 7472 = ____
    P3. 59 + 630 + 1131 = ____
    P4. 81 + 324 + 9382 = ____
    P5. 10 + 366 + 7136 = ____
    

    Puedes ajustar los rangos de los números aleatorios o el formato de los problemas de matemáticas según tus necesidades.

Comments are closed.