【发布时间】:2019-02-01 03:24:39
【问题描述】:
这是我编写的代码,用于从重复次数的数字中获取数字总和,直到总和低于 10:
T = int(input())
for i in range(T):
N = int(input())
def P():
M = [int(d) for d in str(N)]
N = sum(M)
if N<10:
print(N)
else :
return P()
P()
在运行此代码时,它会给我一个错误,例如:
Traceback (most recent call last):
File"C:/Users/AdityaShrivastava/AppData/Roaming/Python/Python36/Scripts/tes
ting.py", line 11, in <module>
P()
File "C:/Users/Aditya
Shrivastava/AppData/Roaming/Python/Python36/Scripts/testing.py", line 5, in
P
M = [int(d) for d in str(N)]
UnboundLocalError: local variable 'N' referenced before assignment
【问题讨论】:
-
我不清楚你的描述。如果我输入 999 会发生什么?预期的输出是多少?
-
9+9+9 = 27 然后 2+7 = 9。所以最终答案是 9。
标签: python python-3.x function if-statement return