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

Tell us what’s happening:

The code is right, he needs the for loop within the function, and it’s already there

Your code so far

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)


# User Editable Region

    sum_of_even_digits = 0
    even_digits = card_number_reversed[1::2]
    
    for x in even_digits :
        print(x)

# User Editable Region

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

    verify_card_number(translated_card_number)

main()

Your browser information:

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

Challenge Information:

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

1 Like

Welcome to the forum @zyad91248

Try removing the space before the colon.

Happy coding

You’re close. Here are few hints to help you out.

  1. You used for x in even_digits instead of the default for digit in even_digits, it’s always better to use the expected variable name for more clean code.
  2. the even_digits loop only prints the value but it’s missing the processing logic doubling each digit, subtracting 9 if needed completing that part of code, which is essential to finish the algorithm as show in the default template code.

Let us know if this helps! Good Luck!

that’s dealt in future steps, it is too much to complete this step succesfully