Learn How to Work with Numbers and Strings by Implementing the Luhn Algorithm - Step 35

Tell us what’s happening:

How is card_number changed to valid in the Luhn code?

Your code so far


# User Editable Region

def verify_card_number(card_number):
    sum_of_odd_digits = 0
    card_number_reversed = card_number[::-1]
    odd_digits = card_number_reversed[::2]

    for digit in odd_digits:
        sum_of_odd_digits += int(digit)

    sum_of_even_digits = 0
    even_digits = card_number_reversed[1::2]
    for digit in even_digits:
        number = int(digit) * 2
        if number >= 10:
            number = (number // 10) + (number % 10)
        sum_of_even_digits += number
    total = sum_of_odd_digits + sum_of_even_digits
    
    return total % 10 == 0

def main():
    card_number = '4111-1111-4555-11412'
    card_translation = str.maketrans({'-': '', ' ': ''})
    translated_card_number = card_number.translate(card_translation)

    if verify_card_number(translated_card_number):
        print('VALID!')
    else:
        print('INVALID!')

main()

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36

Challenge Information:

Learn How to Work with Numbers and Strings by Implementing the Luhn Algorithm - Step 35

Welcome to the forum @Galy

Try changing the value back to what it was in the previous step.

Happy coding

Hi @Galy you have to change the card number to ‘4111-1111-4555-1142’ . In other posts I see that people delete if statement and this is and error for approve this step. You’ve got it right.

This doesn’t work. I think the system may have a bug. It doesn’t accept this, nor any other Luhn algorithm compliant credit card number.

the lines you removed may have something to do with the fact that you are not passing the tests

you should open your own topic to ask for help for your own code

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.