Python. Запуск оператора цикла после условного оператора
Вот простая программа для вычисления факториала:
n=int(input("Введите длину факториала n! :"))
s=1
k=1
while k<n:
k=k+1
s=s*k
print("Факториал числа ", n,"Составляет: ", s)
Она работает, но если я пытаюсь прикрутить проверку на положительность числа
n=int(input("Введите длину факториала n! :"))
s=1
k=1
if n>0:
while k<n:
k=k+1
s=s*k
print("Факториал числа ", n,"Составляет: ", s)
Мне выдает ошибку. И вот стало интересно как запускать цикл после цикла на данном примере. Спасибо!
Ответы (1 шт):
Автор решения: Tehnorobot
→ Ссылка
Мне выдает ошибку
Данный фрагмент кода выдаёт только одну ошибку из-за отсутствия отступов внутри цикла while.
Правильный вариант такой:
n=int(input("Введите длину факториала n! :"))
s=1
k=1
if n>0:
while k<n:
k=k+1
s=s*k
print("Факториал числа ", n,"Составляет: ", s)
как запускать цикл после цикла на данном примере
Здесь скорее запускать цикл внутри условия.
И ещё, я не уверен, что вы правильно обрабатываете выход условия на положительное число. То есть должно быть так:
if n > 0:
...
print("Факториал числа ", n,"Составляет: ", s)
else:
print('Нет факториала от числа', n) # число отрицательное или ноль