0

i'm new in python and for practice i make this codes but i have a problem :when you choose a number more than 100 it says you entered a wrong number and you must enter another number then if you enter a right number you wont get the awnser this is outout

please enter a number between 0 and 100  =>123
you have entered a number more than 100 or less than 0 !
so please enter a number between 0 and 100 =>12

and nothing !!!

but if you enter a wrong number for two times or more it will work perfectly

this is my code

print("welcome to or simple test")     
def number_choosing_1():
   number_1=int(input("please enter a number between 0 and 100 "))
   if 0<number_1 and  number_1<100 and number_1%2==0:
        print("the number you have entered is even ")
   elif 0<number_1 and  number_1<100 and number_1%2==1: 
        print("you have entered a odd number ")
   else :
         if  number_1>100 or number_1<0:
          wrong_number_choosing_1()
         elif 0<number_1 and  number_1<100:
          number_choosing_1()
def number_choosing_2():
   number_1=int(input("that's it now fore make me sure reenter your number "))
   if 0<number_1 and  number_1<100 and number_1%2==0:
        print("the number you have entered is even ")
   elif 0<number_1 and  number_1<100 and number_1%2==1: 
        print("you have entered a odd number ")
   else :
         if  number_1>100 or number_1<0:
          wrong_number_choosing_1()
         elif 0<number_1 and  number_1<100:
          number_choosing_1()
def wrong_number_choosing_1():
     number_1=int(input("""you have entered a number more than 100 or less than 0 !
so please enter a number between 0 and 100 """))
     while number_1>100 or number_1<0:
         number_1=int(input(" come on again !!  please enter a number between 0 and 100 "))
         if  0<number_1 and  number_1<100:
             number_choosing_2()
number_choosing_1()

any help appreciated .

Barmar
  • 741,623
  • 53
  • 500
  • 612

1 Answers1

0

just use a loop to ask for an input until a valid answer is given, then break the loop

while True:
    number = int(input("Enter a number between 0 and 100: "))
    if 0 <= number <= 100:
        break
    else:
        print("Wrong number, try again")

# then check if the number is even or odd
parity = "odd" if number % 2 else "even"
   
print(f"The number {number} is {parity}")
Sembei Norimaki
  • 745
  • 1
  • 4
  • 11