[SOLUCIONADO] Funcion en python que genere el factorial con dos FOR

Iniciado por agutierrez, Diciembre 23, 2021, 07:36:24 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Diciembre 23, 2021, 07:36:24 PM Ultima modificación: Diciembre 27, 2021, 08:33:49 PM por AXCESS
Código: python
def factorial(n):
    result = 1
    for y in range(1, n):
        result *= y
    return result

for n in range(0,10):
    print(n, factorial(n+1))

La plataforma me lo valida como incorrecto

La orden del encabezado es la siguiente:


Fill in the blanks to make the factorial function return the factorial of n. Then, print the first 10 factorials (from 0 to 9) with the corresponding number. Remember that the factorial of a number is defined as the product of an integer and all integers before it. For example, the factorial of five (5!) is equal to 1*2*3*4*5=120. Also recall that the factorial of zero (0!) is equal to 1.

Me ayudan?????

@agutierrez

No sé qué verifica la página en cuestión. También la página me es desconocida. Suponiendo, la entrada a la función es lo incorrecto, ya que la función espera que al usar determinado número (que en este caso es de 0 a 9), dé un resultado correcto. Lo que pasa es que el for le estás sumando uno al argumento. Creo que la página entonces desearía que fuera la función, que al pasarle determinado número, dé determinado valor, sin necesidad de más nada.

Código: python
#!/usr/local/bin/python3.8

def factorial(n):
        r = abs(n)

        if (r == 0):
                return 1

        result = factorial(r-1)*r

        if (n < 0):
                result = result * -1
        return result

if __name__ == "__main__":
        for n in range(0, 9):
                print(n, factorial(n))


~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF