如何调试类型错误"没有属性__getitem __"?属性、错误、类型、QUOT

2023-09-11 07:25:09 作者:长安某.

我有我的code Python中的一些困难。我想创建一个code这将检查信用卡的数量是有效的。但它让我展示的信息:

 回溯(最近通话最后一个):
  文件C:\ Users \用户乔治\桌面\ FRONTISTHRIAKH ASKHSH 6.py,14号线,与<模块>
    如果INT(X [0] [0])→4和INT(X [0] [0])7;:
类型错误:builtin_function_or_method'对象有没有属性'__getitem__
 

下面是我的code:

  N =进行raw_input()
而N =END和n =结束!!
    S = 0
    X = [N]
    如果INT(X [0] [0])→4和INT(X [0] [0])7;:
        如果x [0] [3] ==或x [0] [3] == - :
            如果x [0] [3] ==:
                ×〔0〕上卸下摆臂()
            其他:
                ×〔0〕上卸下摆臂( - )
                如果len(X [0])> 16:
                    打印假
                其他:
                    a=[int(x[0][0]),int(x[0][1]),int(x[0][2]),int(x[0][3]),int(x[0][4]),int(x[0][5]),int(x[0][6]),int(x[0][7]),int(x[0][8]),int(x[0][9]),int(x[0][10]),int(x[0][11]),int(x[0][12]),int(x[0][13]),int(x[0][14])]
                    因为我的range(0,14,2):
                        A [1] = 2 * A [1]
                        如果A [1] / 10 = 0!
                            A [1] = A [1] / 10 + A [1]%10
                    因为我在范围内(15):
                        S = S + A [1]
                    如果s%10 == 0:
                        打印真
                    其他:
                        打印假


        其他:
            如果len(X [0])> 16:
                    打印假
            其他:
                a=[int(x[0][0]),int(x[0][1]),int(x[0][2]),int(x[0][3]),int(x[0][4]),int(x[0][5]),int(x[0][6]),int(x[0][7]),int(x[0][8]),int(x[0][9]),int(x[0][10]),int(x[0][11]),int(x[0][12]),int(x[0][13]),int(x[0][14])]
                因为我的range(0,14,2):
                    A [1] = 2 * A [1]
                    如果A [1] / 10 = 0!
                        A [1] = A [1] / 10 + A [1]%10
                因为我在范围内(15):
                    S = S + A [1]
                如果s%10 == 0:
                    打印真
                其他:
                    打印假

    其他:
        打印假
    N =进行raw_input
 

解决方案 为什么我打开服务的时候出现了运行时间错误 是否调试

您的的第二的致电进行raw_input 没有按T调用函数:

  N =进行raw_input
 

  N =进行raw_input()
 

I'm having some difficulties with my code in python. I want to create a code which will check if the number of a credit card is valid. But it keep showing me the message:

Traceback (most recent call last):
  File "C:\Users\George\Desktop\FRONTISTHRIAKH ASKHSH 6.py", line 14, in <module>
    if int(x[0][0])>4 and int(x[0][0])<7:
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'

Here is my code:

n=raw_input()
while n!="END" and n!="end":
    s=0
    x=[n]
    if int(x[0][0])>4 and int(x[0][0])<7:
        if x[0][3]==" " or x[0][3]=="-":        
            if x[0][3]==" ":
                x[0].remove(" ")
            else:
                x[0].remove("-")
                if len(x[0])>16:
                    print False
                else:                    
                    a=[int(x[0][0]),int(x[0][1]),int(x[0][2]),int(x[0][3]),int(x[0][4]),int(x[0][5]),int(x[0][6]),int(x[0][7]),int(x[0][8]),int(x[0][9]),int(x[0][10]),int(x[0][11]),int(x[0][12]),int(x[0][13]),int(x[0][14])]
                    for i in range(0,14,2):
                        a[i]=2*a[i]
                        if a[i]/10!=0:
                            a[i]=a[i]/10+a[i]%10
                    for i in range(15):
                        s=s+a[i]
                    if s%10==0:
                        print True
                    else:
                        print False


        else:
            if len(x[0])>16:
                    print False
            else:
                a=[int(x[0][0]),int(x[0][1]),int(x[0][2]),int(x[0][3]),int(x[0][4]),int(x[0][5]),int(x[0][6]),int(x[0][7]),int(x[0][8]),int(x[0][9]),int(x[0][10]),int(x[0][11]),int(x[0][12]),int(x[0][13]),int(x[0][14])]
                for i in range(0,14,2):
                    a[i]=2*a[i]
                    if a[i]/10!=0:
                        a[i]=a[i]/10+a[i]%10
                for i in range(15):
                    s=s+a[i]
                if s%10==0:
                    print True
                else:
                    print False

    else:
        print False
    n=raw_input

解决方案

Your second call to raw_input doesn't call the function:

n=raw_input

Should be

n=raw_input()