程序中的整数到字符串错误

2024-06-30 08:28:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,我目前正在工作的问题。它是一个GTIN-8代码生成器。当我试图启动程序时,我得到了一个错误:

Type Error: Can't convert 'int' to str implicitly.

我的代码如下:

sevenNum = ""
gtinNum = ""
checkDigit = ""
total = ""

a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""

def GTINCalc():
    a = int(sevenNum[0])*3
    b = int(sevenNum[1])*1
    c = int(sevenNum[0])*3
    d = int(sevenNum[1])*1
    e = int(sevenNum[0])*3
    f = int(sevenNum[1])*1
    g = int(sevenNum[0])*3

    total = (a+b+c+d+e+f+g)

    checkDigit = (total + 9) // 10 * 10 - total

    print("GTIN-8 Code:" + a+b+c+d+e+f+g+checkDigit)


def sevenNumAsk():
    sevenNum = input("Enter a 7 digit number to be converted into a GTIN-8 Number")
if sevenNum.isdigit() == True and len(sevenNum) == 7:
    print("Valid Number - Calculating GTIN-8...")
    GTINCalc()
else:
    print("The number is not valid - please re-enter ")
    sevenNumAsk()

sevenNumAsk()

我对此部分有问题:

total = (a+b+c+d+e+f+g)

checkDigit = (total + 9) // 10 * 10 - total

非常感谢。你知道吗


Tags: to程序numberdef错误代码生成inttotal
2条回答

不能将stringint连接在一起:

print("GTIN-8 Code:" + a+b+c+d+e+f+g+checkDigit)

无论如何,使用字符串格式更为正确,例如:

print("GTIN-8 Code: {0}{1}{2}{3}{4}{5}{6}{7}".format(a, b, c, d, e, f, g, checkDigit))

ab….g定义为字符串:

a = ""
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""

当你把它们加起来时,total = (a+b+c+d+e+f+g)total也是一个字符串。你知道吗

我认为你的缩进在代码里是错的。如果只是一个复制/粘贴错误,而只发布问题,那么你可以参考@Selcuk的答案。你知道吗

相关问题 更多 >