Python Forum
user inputing data until in range
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
user inputing data until in range
#1
How can I make the function to repeat until user enter value in the range and only then to break ?

      
def scale(freq):
    freq = input("Enter a fundamental frequency number: ")
    freq = int(freq)
    if freq > 20 or freq > 2000:
        print (f"frequency entered is: {frequency}")
        return
      
    else:
        print("wrong input. frequency should be between 20 - 2000\nTry again")
Thanks
Reply
#2
def get_frequency(min_freq=20, max_freq=2000, prompt="Enter a fundamental frequency number: "):
    while True:
        try:
            freq = int(input(prompt))
            if min_freq <= freq <= max_freq:
                return freq
            else:
                print(f"Wrong input. Frequency should be between {min_freq} - {max_freq}\nTry again")  
        except ValueError:
            print('Invalid input')

frequency = get_frequency()            
print (f"frequency entered is: {frequency}")
Output:
Enter a fundamental frequency number: a Invalid input Enter a fundamental frequency number: 10000 Wrong input. Frequency should be between 20 - 2000 Try again Enter a fundamental frequency number: -10 Wrong input. Frequency should be between 20 - 2000 Try again Enter a fundamental frequency number: 200 frequency entered is: 200
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  matplotlib x axis range goes over the set range Pedroski55 5 3,225 Nov-21-2021, 08:40 AM
Last Post: paul18fr
  index of range, but data prints out mrc06405j 1 2,344 Mar-25-2021, 07:20 PM
Last Post: buran
  Define a range, return all numbers of range that are NOT in csv data KiNeMs 18 7,084 Jan-24-2020, 06:19 AM
Last Post: KiNeMs
  Bad marshal data (string ref out of range) error neodark 2 2,983 Apr-14-2019, 06:59 AM
Last Post: neodark
  How do I create a user input for three integers in a range or just the stop input Pleiades 3 3,094 Nov-22-2018, 02:19 PM
Last Post: Larz60+
  user input to select and print data from another class python TyTheChosenOne 6 4,150 Aug-30-2018, 05:53 PM
Last Post: TyTheChosenOne
  assigning columns according to data range python alamather 4 3,721 Jan-21-2018, 10:14 AM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020