Это мой код для алгоритма Луна (проверка кредитной карты). Это хорошо ...Это самый эффективный способ написать алгоритм Луна в Python?
card = raw_input("Enter your credit card number here: ")
card = list(str(card))
card = [int(x) for x in card]
check = card[-1]
del(card[-1])
card[::2] = [2*x for x in card[::2]]
for i, x in enumerate(card):
card[i] = sum(map(int, str(x)))
card = sum(card) * 9
card = list(str(card))
card = [int(x) for x in card]
if card[-1] == check:
print("Card is valid!")
else:
print("Card is invalid!")
Или я могу сделать его короче/более эффективным?
Это чрезвычайно странный способ его написания, и это определенно не самый эффективный. Как насчет использования одного цикла? – Ryan
Как это странно? Итерация проходит через каждый шаг ясно. –