Задать вопрос
@Azamgl

Ошибка по рекурсии?

Написал самый простой код, где хотел написать арифметическую прогрессию с помощью рекурсии:
def progress(a, n):
	print(a)
	progress(a + n)

progress(int(input('Введите первый элемент арифмитической прогрессии: ')), int(input('Введите разность арифмитической прогрессии: ')))


Но выдает ошибку, что в 7 строке отсутствует 1 обязательный позиционный аргумент n, хотя я его использую при сложении. Кто может сказать почему он его не видит?

$ massive.py
Введите первый элемент арифмитической прогрессии: 2
Введите разность арифмитической прогрессии: 3
2
Traceback (most recent call last):
File "C:\Users\Admin\Desktop\Python\massive.py", line 9, in
progress(int(input('Введите первый элемент арифмитической прогрессии: ')), int(input('Введите разность арифмитической прогрессии: ')))
File "C:\Users\Admin\Desktop\Python\massive.py", line 7, in progress
progress(a + n)
TypeError: progress() missing 1 required positional argument: 'n'
  • Вопрос задан
  • 64 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Потому что у тебя в методе progress(a, n): <- два параметра, а ниже ты вызываешь его только с одним.

Но, даже если ты укажешь два параметра у тебя не будет работать программа, т.к. получится stackoverflow, потому что ты не описал ни одного условия выхода из метода
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы