Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I have some code that I want to ask the user for a number between 1-100 and if they put a number between these it will print (Size: (input)) and break the loop, if however, they put in a number outside 1-100 it will print (Size: (input)), and proceed to re-ask them for a number, I have run into some problems though.

c=100
while c<100:
    c=input("Size: ")
    if c == 1 or 2 or 3:
        print ("Size: "+c)
        break
    else:
        print ("Size: "+c)
        print ("Invalid input. Try again.")

Any help would be much appreciated!

share|improve this question
"I have run into some problems" - what problems? – sashkello Apr 18 at 2:58
The code doesn't work – user2101517 Apr 18 at 3:00
1  
When asking a question tell us HOW it doesn't work. You get error? It gives output you don't expect? What exactly is wrong? – sashkello Apr 18 at 3:02

2 Answers

up vote 2 down vote accepted

This should do it.

c=input("Size: ")
while int(c)>100 or int(c)<1: 
    #Will repeat until the number is between 1 and 100, inclusively.
    #It will skip the loop if the value is between 1 and 100.

    print ("Size: "+c)
    print ("Invalid input. Try again.")
    c=input("Size: ")

#once the loop is completed, the code following the loop will run
print ("Size: "+c)
share|improve this answer
Thanks a lot! Works perfectly – user2101517 Apr 18 at 3:03

You never even enter your loop.

c=100
while c<100:

c is initiated at 100 and while checks if it is less than 100.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.