I want to loop 100 times but not print 100 times in the loop (Python)

29,887

Solution 1

It seems like you're omitting the guessing stage. Where is the program asking the user for input?

Ask them at the beginning of the loop!

for lp in range(100):
    guess = int(input('Guess number {0}:'.format(lp + 1)))
    ...

Solution 2

You need to get a new input each time through your loop; otherwise you just keep checking the same things.

for lp in range(100):
    if guess == number:
        break
    if guess < number:
        # Get a new guess!
        guess = int(raw_input("Nah m8, Higher."))
    else:
        # Get a new guess!
        guess = int(raw_input("Nah m8, lower."))
Share:
29,887
Orishmark4
Author by

Orishmark4

Updated on June 24, 2021

Comments

  • Orishmark4
    Orishmark4 about 3 years
    for lp in range(100):
        if guess == number:
            break
        if guess < number:
            print "Nah m8, Higher."
        else:
            print "Nah m8, lower."
    

    This is some basic code that I was told to make for a basic computing class. My aim is to make a simple 'game' where the user has to guess a random number that the computer has picked (1-100) This is a small section of the code where I want to continue checking if the guess is equal to, lower or higher than the number; but if I put a print statement below, it will print the text 100 times. How can I remove this problem?

    Thanks in advance.