
Tito Briceño Nieto
PreguntaQuisiera saber por qué no me funciona el programa de esta forma y por qué me arroja el siguiente error. unsupported operand type(s) for *: ‘int’ and ‘NoneType’
def factorial (numero): if numero == 1: return 1 else: resultado = numero * factorial (numero - 1) print(resultado) if __name__ == "__main__": numero = int(input('escriba un nuemero para calcular el factorial ')) respuesta = factorial (numero) ```

Eduardo Villota
Hola!,
El problema es que la función factorial no devuelve nada cuando el número es diferente de 1
#! /usr/bin/python3 def factorial(numero): if numero == 1: return 1 else: #import ipdb; ipdb.set_trace() resultado = numero * factorial(numero - 1) print(resultado) return resultado if __name__ == "__main__": numero = int(input('escriba un nuemero para calcular el factorial ')) respuesta = factorial(numero)
import ipdb; ipdb.set_trace()
esta línea la usé para ver que está haciendo tu código, ojo este momento está comentada. #
Suerte!/

Alejandra Hincapie
Hola, lo que sucede con tu código es que estas intentando operar dos tipos diferentes de datos: un entro y una función (
numero * factorial(numero -1