1. Python / Говнокод #27321

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 27 Марта 2021

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

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

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Где здесь C++, guest?!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код