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

Tell us what’s happening:

Describe your issue in detail here.

As a final step, remove the print call from the verify_card_number function, and change the card_number back to something valid.

Saddly - changing words card_number everywhere - doesn’t help at all.

Keep receiving an error:
You should not have a print call within the verify_card_number function.

There are only 2 print calls left - and fun fact - deleting whole IF function with prints - still receive the same error when there’s literally no prints left in the code.

Your code so far


# User Editable Region

def verify_something_valid(something_valid):
    sum_of_odd_digits = 0
    something_valid_reversed = something_valid[::-1]
    odd_digits = something_valid_reversed[::2]
    for digit in odd_digits:
        sum_of_odd_digits += int(digit)
    sum_of_even_digits = 0
    even_digits = something_valid_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
def main():
    something_valid = '4111-1111-4555-1141'
    card_translation = str.maketrans({'-': '', ' ': ''})
    translated_something_valid = something_valid.translate(card_translation)

    if verify_something_valid(translated_something_valid):
        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/120.0.0.0 Safari/537.36

Challenge Information:

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

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

first reset and remove the print call from the verify_card_number function as per the instruction.

the instruction also says change the card_number back to something valid doesn’t mean u should change variable name card_number. what it meant is to change the value which is given to variable card_number so that on checking the if condition inside main function prints valid.

to satisfy condition and print valid u should give a number inside '' to card_number inside main function which will satisfy the return total % 10 == 0 of function verify_card_number.

1 Like

You are right - changing card_number number to make output VALID! solved the issue. Thank you very much. Hope to learn those things, because after completing 2 lessons, cannot understand anything :smiley:

1 Like