Форум сайта python.su
Здравствуйте,попробовала написать простейшую программку по вычислению факториала, но что-то у меня не сходится. В чем проблема?
n = int(input("n = ")) P = 1 for i in range (0, n): P = P * (i + 1) print("n! = ", P)
Отредактировано FishHook (Сен. 21, 2015 20:07:24)
Офлайн
> range (0, n)
У меня всё нормально работает. Вот моё решение этой несложной задвачи:
def faktor(f): return reduce(lambda x, y: x*y, xrange(1, f+1))
Отредактировано Rodegast (Сен. 21, 2015 19:11:26)
Офлайн
Спасибо за решение. Но все же мне хотелось бы узнать, в чем моя ошибка, не считая того, что i будет принимать значения от 1. Программа выдает expected an indented block к строке P = P * (i + 1). Что она от меня хочет, мне не понятно.
Офлайн
Отступ не соблюден. Внутри цикла должен быть отступ. В питоне отступы являются частью языка.
n = int(input("n = ")) P = 1 for i in range(0, n): P = P * (i + 1) # отступ print("n! = ", P)
Отредактировано 4kpt_III (Сен. 21, 2015 19:58:10)
Офлайн