我尝试运行此命令,并在第16行说“ int对象不可下标”

问题描述 投票:0回答:1

ISBN代码检查器程序

code=str(input("Please enter the ISBN code. "))
incode=0
modul=0
sumcode=0
subt=0
count=0
multvar=1
codelist2=[]
if len(code)!=13:
    print("Invalid ISBN code.")
elif code.isdigit() and len(code)==13:
    codelist=list(code)
    code=int(code)
    for i in range (12):
        if multvar==1:
            codelist.append(code[count]*1)  # This is where the Python Shell says there is an error
            multvar+=1
            count+=1
        elif multvar==2:
            codelist.append(code[count]*3)
            multvar-=1
            count+=1
    sumcode=sum(codelist)
    modul=sumcode%10
    subt=10-modul
    if subt==codelist[12]:
        print("Valid ISBN code.")
    else:
        print("Invalid ISBN code.")

一段时间以来,我一直在尝试解决此问题,但我认识的人都无法帮助我解决该错误

python
1个回答
0
投票

我几乎设法使它起作用

code=str(input("Enter an ISBN code to check if it's valid. Please make sure you add spaces between each number. "))
incode=0
modul=0
sumcode=0
subt=0
count=0
multvar=1
codelist=code.split()
while True:
    codelist[count]=int(codelist[count])
    count+=1
    if count==13:
        break
if len(code)!=13:
    count=0
    print("Invalid ISBN code.")
elif code.isdigit() and len(code)==13:
    for i in range (12):
        if multvar==1:
            codelist.append(code[count])
            multvar+=1
            count+=1
        elif multvar==2:
            codelist.append(code[count]*3)
            multvar-=1
            count+=1
        sumcode=sum(codelist)
        modul=sumcode%10
        subt=10-modul
        if subt==codelist[12]:
            print("Valid ISBN code.")
        else:
            print("Invalid ISBN code.")
© www.soinside.com 2019 - 2024. All rights reserved.