Разберем код и найдем ошибки в программе вычисления факториала:
f должно быть равно 1, а не 0. Если f = 0, то при умножении на любое число результат всегда будет 0.while отсутствует увеличение переменной k. В предоставленном коде переменная k увеличивается через K+=1, где переменная K написана с большой буквы.while k < n: не включает в себя число n. Чтобы вычислить факториал n, нужно чтобы последнее умножение было на n.Исправленный код:
n = int(input("Введите n: "))
k = 1
f = 1
while k <= n:
f = f * k
k += 1
print(f)
Пример выполнения программы:
Для n = 5:
n = 5, k = 1, f = 1f = 1 * 1 = 1, k = 2f = 1 * 2 = 2, k = 3f = 2 * 3 = 6, k = 4f = 6 * 4 = 24, k = 5f = 24 * 5 = 120, k = 6120Для n = 6:
n = 6, k = 1, f = 1f = 1 * 1 = 1, k = 2f = 1 * 2 = 2, k = 3f = 2 * 3 = 6, k = 4f = 6 * 4 = 24, k = 5f = 24 * 5 = 120, k = 6f = 120 * 6 = 720, k = 7720