[Python] The FOR loop is not producing the correct output, even though there are no errors

Discussão em 'Python' iniciado por Stack, Junho 25, 2025.

  1. Stack

    Stack Membro Participativo

    The user has ten chances to guess a four-digit number. After each guess, the computer should print out the message that is included in the code below. I would like the code to list the numbers that the user guessed correctly. If not, it should give another message, but my output is not working correctly. I've tried replacing elif statements with if statements only, but that did not solve the problem. Any advice, please? Thank you.

    Code

    number = (1,2,3,4)

    for i in range(10):
    number = input("Please enter 4-digit number:")
    if len(number) == 4 and number.isdigit():
    if number[0] == 1 and number[1] == 2 and number[2] == 3 and number[3] == 4:
    print("Congratulations! You've guessed all numbers correctly!")
    elif number[0] == 1:
    print("First digit is correct")
    elif number[1] == 2:
    print("Second digit is correct!")
    elif number[2] == 3:
    print("Third digit is correct!")
    elif number[3] == 4:
    print("Fourth digit is correct!")
    else:
    print("I'm sorry, you didn't guess any digit correctly... Please try again!")
    else:
    print("Please enter a valid 4-digit number.")


    Output:

    Please enter 4-digit number: 5238
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1234
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1836
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 9999999
    Please enter a valid 4-digit number.
    Please enter 4-digit number: 4239
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1634
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 2254
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1131
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 5555555
    Please enter a valid 4-digit number.
    Please enter 4-digit number: 7244
    I'm sorry, you didn't guess any digit correctly... Please try again! ```


    OR

    number = (1,2,3,4)

    for i in range(10):
    number = input("Please enter 4-digit number:")
    if len(number) == 4 and number.isdigit():
    if number[0] == 1 and number[1] == 2 and number[2] == 3 and number[3] == 4:
    print("Congratulations! You've guessed all numbers correctly!")
    if number[0] == 1:
    print("First digit is correct")
    if number[1] == 2:
    print("Second digit is correct!")
    if number[2] == 3:
    print("Third digit is correct!")
    if number[3] == 4:
    print("Fourth digit is correct!")
    else:
    print("I'm sorry, you didn't guess any digit correctly... Please try again!")
    else:
    print("Please enter a valid 4-digit number.")


    OUTPUT:

    Please enter 4-digit number: 5238
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1234
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 6239
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 4434
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 11111111
    Please enter a valid 4-digit number.
    Please enter 4-digit number: 9294
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 6304
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 1939
    I'm sorry, you didn't guess any digit correctly... Please try again!
    Please enter 4-digit number: 55555555
    Please enter a valid 4-digit number.
    Please enter 4-digit number: 2274
    I'm sorry, you didn't guess any digit correctly... Please try again!

    Continue reading...

Compartilhe esta Página