Debug an ISBN Validator - Debug an ISBN Validator

Tell us what’s happening:

im just trying to understand what im doing wrong so i can write something that makes sense.
i think I have everything needed for the next few steps but i havent ordered them properly, i really just dont understand how to structure this, if someone could help me to understand how to structure it, that will really help me understand this more…

this is the bit of code im fumbling with(its the part at the end, the main() function definition.

def main():
    if ',' not in user_input:
        print('Ente

### Your code so far


```py
def validate_isbn(isbn, length):
    if len(isbn, length) != length:
        print(f'ISBN-{length} code should be {length} digits long.')
        return
    main_digits = isbn[0:length]
    given_check_digit = isbn[length]
    main_digits_list = [int(digit) for digit in main_digits]
    # Calculate the check digit from other digits
    if length == 10:
        expected_check_digit = calculate_check_digit_10(main_digits_list)
    else:
        expected_check_digit = calculate_check_digit_13(main_digits_list)
    # Check if the given check digit matches with the calculated check digit
    if given_check_digit == expected_check_digit:
        print('Valid ISBN Code.')
    else:
        print('Invalid ISBN Code.')
def calculate_check_digit_10(main_digits_list):
    # Note: You don't have to fully understand the logic in this function.
    digits_sum = 0
    # Multiply each of the first 9 digits by its corresponding weight (10 to 2) and sum up the results
    for index, digit in enumerate(main_digits_list):
        digits_sum += digit * (10 - index)
    # Find the remainder of dividing the sum by 11, then subtract it from 11
    result = 11 - digits_sum % 11
    # The calculation result can range from 1 to 11.
    # If the result is 11, use 0.
    # If the result is 10, use upper case X.
    # Use the value as it is for other numbers.
    if result == 11:
        expected_check_digit = '0'
    elif result == 10:
        expected_check_digit = 'X'
    else:
        expected_check_digit = str(result)
    return expected_check_digit
def calculate_check_digit_13(main_digits_list):
    # Note: You don't have to fully understand the logic in this function.
    digits_sum = 0
    # Multiply each of the first 12 digits by 1 and 3 alternately (starting with 1), and sum up the results
    for index, digit in enumerate(main_digits_list):
        if index % 2 == 0:
            digits_sum += digit * 1
        else:
            digits_sum += digit * 3
    # Find the remainder of dividing the sum by 10, then subtract it from 10
    result = 10 - digits_sum % 10
    # The calculation result can range from 1 to 10.
    # If the result is 10, use 0.
    # Use the value as it is for other numbers.
    if result == 10:
        expected_check_digit = '0'
    else:
        expected_check_digit = str(result)
    return expected_check_digit
def main():
    if ',' not in user_input:
        print('Enter comma-separated values.')
        return
    elif not length == 10 or length == 13:
        print('Length should be 10 or 13.')
        return
    elif not isinstance(length, int):
        print('Length must be a number.')
        return
    elif not isbn[0].isdigit():
        print('Invalid character was found.')
        return
    else:

        validate_isbn(isbn, length)

'''main()'''

1530051126,10

Your browser information:

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

Challenge Information:

Debug an ISBN Validator - Debug an ISBN Validator

Hi @sergeant_storm

I haven’t done this challenge so don’t fully know what the requirements are.

However, you can start by resolving the syntax error.

The console is giving you some information.

The main function has an unterminated print call.

Happy coding

lol kind of just have a syntax error for the same reason im asking for assistance…

you should do this assignment and then get back to me…

this is a debugging project, can you explain what steps you took to debug this and what are you stuck with?

yea its supposed to be dbugging but it seems you cant solve it without writing codes…

you need to make the code work, that means that you may need to add or remove something, but you don’t need to write completely new code

Hi @sergeant_storm

Mirror the symbols on this line to resolve the first syntax error.

This will terminate and make the code valid.

Happy coding