Код для вычисления факториалов (IndexError: list index out of range)

Создал код для вычисления факториалов. Всё работает, но вылетает ошибка IndexError: list index out of range. Как можно исправить?

ch = int(input('Введите число '))
l = list(range(1, ch + 1))
print(l)
p = 1
if ch >= 0:
    if ch < 2:
        print(1)
    else:
        while p != ch + 1:
            s = l[0] * l[1]
            del l[0]
            l[0] = s
            p = p + 1
            print(l[0])

Ответы (1 шт):

Автор решения: w4sQ

Измените строчку while p != ch + 1: на while p != ch + 1 and len(l) != 1:

→ Ссылка