راکت

مشکل در اجرای کد پایتون

1 پاسخ

سلام کد چه مشکلی داره؟
لطفا کمک کنید 🙏
کد :

def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))

خروجی :

Traceback (most recent call last):
  File "factorial.py", line 10, in <module>
    print(factorial(5))
  File "factorial.py", line 6, in factorial
    return n * factorial(n - 1)
  File "factorial.py", line 6, in factorial
    return n * factorial(n - 1)
RecursionError: maximum recursion depth exceeded

🙏

ثبت پرسش جدید

پاسخ‌ها

1
آرتین کریمی
آرتین کریمی
@error.404

تخصص: طراح وب و برنامه نویس

سلام دوست عزیز

  1. در def باید نوع ورودی رو مشخص کنید
    برای مثال
    
    def factorial(n: int):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))

2. مشکل اینه که شما نمیتونید از عدد 0 استفاده کنید 1 باشه بهتره
نسخه اصلاح شده

def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام