我试图为一个包含16个数字的字符串做一个循环,想法是将所有成对的数字相乘 *2,但在这样做的同时,我得到了一个字符串错误。我尝试了几种方法,但没有成功。
cardNumber = input("Enter a 16-digit card number:")
cardNumber = int(cardNumber.replace(" ",""))
#cardNumber = str(cardNumber)
print(cardNumber)
i = 0
for i in range(0, 16, 2):
cardNumber[i] *= 2
print(cardNumber)
你能帮我理解这个简单的问题吗?我不明白为什么不允许它。
谢谢你的帮助
2条答案
按热度按时间scyqe7ek1#
您可以将
cardnumber
转换为整数,例如4137894711755904
。整数没有“数字位置”,因此cardNumber[i]
无法工作。此索引适用于字符串,但不适用于数字类型。您可以将字符串转换为整数列表,例如:
现在索引工作正常了。要重新得到一个整数,你可以加入列表并再次转换为int,例如:
f87krz0w2#
以下内容可能符合您的要求:)