获取类型错误:类型builtin_function_or_method“的对象没有LEN()
问题描述:
我不断收到一个类型错误:类型builtin_function_or_method”的对象没有LEN()获取类型错误:类型builtin_function_or_method“的对象没有LEN()
这是我的代码:
def CheckLength(num):
if len(num)>=13 and len(num)<=16:
return True
else:
return False
def CheckType(num):
if num[0]=='4':
return 'Visa'
elif num[0]=='5':
return 'MasterCard'
elif num[0]=='6':
return 'Discover'
elif num[0:1]=='37':
return 'American Express'
else:
return 'Invalid Entry'
def Step1(num):
total=0
length=len(num)
for i in range(length-1,-2,-2):
double=int(num[i]*2)
if double>9:
double=double[0]+double[1]
total+=double
else:
total+=double
return total
def Step2(num):
total=0
length=len(num)
for i in range(length-1,-1,-2):
total+=i
return total
def Step3(num):
total=Step1(num)+Step2(num)
if total%10==0:
return True
else:
return False
def main():
inFile=open('pa7.cards','r')
cardNum=inFile.readline().strip()
while cardNum!='99999':
validLength=CheckLength(cardNum)
validType=CheckType(cardNum)
if validLength==True and validType==True:
print(cardNum,"valid")
else:
print(cardNum,"invalid")
cardNum=inFile.readline().strip
inFile.close()
main()
我的数据文件看起来像这样:
4388576018402626
4388576018410707
37271983
5190828258102121
99999
有谁知道我为什么得到这个错误?你能看到我遇到的其他明显问题吗?
答
您在
cardNum=inFile.readline().strip
冷落的括号应该
cardNum=inFile.readline().strip()
获取到的调试器下看你的代码的习惯。
+0
哦,我的天啊....大声笑,我从字面上坐在那里看着代码为10分钟直 – 52655841856
每当您看到该错误消息时,请确保您的所有函数调用实际上都有函数调用括号。 – user2357112
或者只是打印出你调用'len()'的变量的值。 – Barmar