我只是尝试用我自己的自定义函数做n个自然数的和,就像这样。
n = int(input("Enter value of n.n"))
def sumof(n):
for i in range(1,n+1):
s = s + n -i
if (n - i)<0:
break
return s
print(sumof(n))
错误如下:
s = s + n -i
UnboundLocalError: local variable 's' referenced before assignment
看起来像错误,因为变量's'。然后我意识到我没有赋值那个变量。所以我分配它s=0
作为一个全局变量,但我仍然得到相同的错误。
请告诉我我哪里做错了。我是python的新手,很抱歉在我的程序中犯了一个愚蠢的错误。如果错误来自。
引用它之前你需要初始化s
。
n = int(input("Enter value of n.n"))
def sumof(n):
s = 0 # <--- Add this line
for i in range(1,n+1):
s = s + n -i
if (nthterm - i)<0:
break
return s
print(sumof(n))
我发现这些:
- 你需要在
function
的第一行写 - 检查
for
中的if and break
,如下所示。(您可以在for
或while
中写入break
,然后当到达break
时,您可以从loop
退出) - (你在哪里定义
nthterm
?)
s=0
n = int(input("Enter value of n.n"))
def sumof(n):
s = 0
for i in range(1,n+1):
s = s + n -i
# if (nthterm - i)<0:
# break
return s
print(sumof(n))
如果你想在函数中使用variable
作为gloabl
,写如下:
s = 0
def sumof(n):
global s
...