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