我正在尝试制作一个程序来计算使用 6-9-20 包无法获得的最大数量的对象(金块)(我对 python 相当陌生,我尝试使用全局和非本地但它不起作用任何一个)。
def nuggets(n):
x = 6
y = 9
z = 20
for i in range(0,n//x+1):
for j in range(0,n//y+1):
for k in range(0,n//z+1):
if i*x + j*y + k*z == n:
return [i,j,k]
return None
def cant_buy(n):
seq=0
for i in range(n):
p=nuggets(i)
if type(p)== list:
seq+=1
elif type(p)== None:
cb=i
seq=0
return cb
然后出现这个错误: Traceback (most recent call last): File "", line 1, in cant_buy(12) File "C:\Python33\OCW 6.00\ps2a.py", line 22, in cant_buy return cb NameError: global名称“cb”未定义
怎么了?我在 elif 语句中定义了它。