Змея / Говнокод #27321 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
def luhn(self):
        all_sum = 0
        self.__card_number = str(self.__card_number)
        self.__card_number = list(self.__card_number)
        for element in range(len(self.__card_number)):
            if element % 2 == 0:
                self.__card_number[element] = int(self.__card_number[element]) * 2
                if self.__card_number[element] > 9:
                    number = self.__card_number[element]
                    self.__card_number[element] = number // 100 + number // 10 % 10 + number % 10  # sum digits of number
            self.__card_number[element] = int(self.__card_number[element])
            all_sum += self.__card_number[element]
        checksum = 0
        while checksum < 10:
            if all_sum % 10 == 0:
                checksum = str(checksum)
                break
            else:
                all_sum += 1
                checksum += 1
        self.i = str(self.i)
        self.i = list(self.i)
        self.i.append(checksum)
        self.__card_number = self.i
 
        self.__card_number = "".join(self.__card_number)

Для преокта нужен был алгоритм луна, чтобы создать в конце контрольную сумму. При написании проебался, что мне card_number нужно просто добавить 1 цифру, а не менять его и по этому просто добавил костыль в виде i.

Запостил: warzon131 warzon131, (Updated )

Комментарии (0) RSS

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8