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

Tell us what’s happening:

when I create the for loop, I write:
for i in odd_digits:
print(i)
and I pass the task, but my question is, what is ‘i’? Is it a variable that works only in these trainings? or does it always work? I noticed it works also if I use ‘x’ instead of ‘i’.
In the following steps, the loop shows the word ‘digit’ instead of ‘i’. What happened? ‘digit’ should be a defined varaible somewhere, but it’s not. Is this standard Python behaviour? Does it extrapolate the name of a variable by itself?

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]

    print(odd_digits)
    

# 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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36

Challenge Information:

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

when you write for i in odd_digits you are defining i to be one of the characters in odd_digits, a different one for each iteration of the loop
you can use any variable name instead of i and it will work the same