编写一个Python程序,判断用户输入的8位信用卡号码是否合法,信用卡号是否合法的判断规则如下。 (1)对给定的8位信用卡号码,从最右边数字开始,隔一位取一个数相加。 (2)将卡号中未出现在第一步中的每个数字乘2,然后将相乘的结果的每位数字相加。 (3)将上述两步得到的值相加,如果结果的个位为0,则输入的信用卡号是有效的。 要求:用户输入的卡号必须是一次性输入,不能分成8次,每次读一个数字。
时间: 2023-05-31 08:05:30 浏览: 102
num = input("请输入8位信用卡号码:")
if len(num) != 8:
print("输入错误,请输入8位数字")
else:
# 第一步
sum_1 = 0
for i in range(1, 8, 2):
sum_1 += int(num[i])
# 第二步
sum_2 = 0
for i in range(0, 8):
if i % 2 == 0:
continue
n = int(num[i]) * 2
if n >= 10:
sum_2 += n // 10 + n % 10
else:
sum_2 += n
# 第三步
sum_3 = sum_1 + sum_2
if sum_3 % 10 == 0:
print("输入的信用卡号是有效的")
else:
print("输入的信用卡号无效")