Vathys
Сен. 21, 2015 18:44:08
Здравствуйте,попробовала написать простейшую программку по вычислению факториала, но что-то у меня не сходится. В чем проблема?
n = int(input("n = "))
P = 1
for i in range (0, n):
P = P * (i + 1)
print("n! = ", P)
Заранее спасибо.
Rodegast
Сен. 21, 2015 19:09:18
> range (0, n)
У меня всё нормально работает. Вот моё решение этой несложной задвачи:
def faktor(f):
return reduce(lambda x, y: x*y, xrange(1, f+1))
Vathys
Сен. 21, 2015 19:48:52
Спасибо за решение. Но все же мне хотелось бы узнать, в чем моя ошибка, не считая того, что i будет принимать значения от 1. Программа выдает expected an indented block к строке P = P * (i + 1). Что она от меня хочет, мне не понятно.
4kpt_III
Сен. 21, 2015 19:57:14
Отступ не соблюден. Внутри цикла должен быть отступ. В питоне отступы являются частью языка.
n = int(input("n = "))
P = 1
for i in range(0, n):
P = P * (i + 1) # отступ
print("n! = ", P)
P.S. Читаем внимательно документацию.