尝试计算一个校验位并将其添加到生成的信用卡末尾。所以我想将两个整数连接成一个字符串。 问题在于这段代码生成的是数字列表,而不是数字本身。
checkDigit = 0
while checksum % 10 != 0:
checksum += 1
checkDigit += 1
cc_number = str(cc_number) + str(checkDigit)
return cc_number
所以在这里,我试图计算出我需要添加到校验和上的数字,以便生成符合Luhn算法要求的信用卡。 我希望说的是数字“ 5”,但我会得到5个元素的列表,例如“ 123456”。然后将其连接到第一个数字的末尾...为什么呢? 我想举例如:2222222225而不是222222222123456
答案 0 :(得分:1)
缩进cc_number = str(cc_number) + str(checkDigit)
。听起来,一旦确定正确的checkDigit,您似乎只想在循环末尾“附加” str(checkDigit)。 (我说“附加”是因为字符串在python中是不可变的。)
答案 1 :(得分:0)
checkDigit = 0
while checksum % 10 != 0:
checksum += 1
checkDigit += 1
return "{}{}".format(cc_number, checkDigit)
您不想在checkDigit
循环内连接while
。我使用字符串格式将其放在return语句中。