number = int(input("please Enter integer number: "))
factorial = 1
def factorieladad(number) :
for i in range(1, number+1):
factorial = ((factorial * i)^int(i))/i
return(factorial)
print("The factorial of {} is: {}".format(number, factorial))
سلام
من این کد را نوشتم
اما درش یک مشکل دارم
وقتی مثلا نامبر را میدم 5 و فانکشن رو صدا میزنم همچین خرجی میده :
UnboundLocalError: local variable 'factorial' referenced before assignment
چطور میتونم از فانکشنم واقعا یک عدد بگیرم !
اونجا که نوشتی
print("The factorial of {} is: {}".format(number, factorial))`
میتونی برای راحتتر شدن کار همون کد رو اینطوری بنویسی:
print(f"The factorial of {number} is: {factorial}")
که فقط هم پیشنهاد بود
در اینجا حرف f معنی همون format رو میده و کار اون رو انجام میده
ولی برای سوالت باید بگم که متغیر factorial رو باید global کنی چون بیرون از تابع نمیشناسنش و وقتی بخوای ازش استفاده کنی ارور میده
باید اینطوری بنویسی:
number = int(input("please Enter integer number: "))
factorial = 1
def factorieladad(number) :
for i in range(1, number+1):
global factorial
factorial = ((factorial * i)^int(i))/i
return(factorial)
print("The factorial of {} is: {}".format(number, factorial))
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟