Python Forum
How to keep looping until the user input is valid ?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to keep looping until the user input is valid ?
#8
def get_valid_input(value):
    while True:
        try:
            return float(input(value))
        except ValueError:
            print('Oops, that was not a valid number. Try again...')

def get_valid_cable_size(cableSize):
    while True:
        get_valid_input(cableSize)
        if cableSize in (25, 35, 50, 70, 95, 120, 150, 195, 250, 300, 500):
            break
        print('Please enter a valid cable size')
    return cableSize

def calculate_set_of_cable(amp, cableSize):
    if cableSize == 25:
        return amp / 53 #53 is current carry capacity of 25sqmm cable
    elif cableSize == 35:
        return amp / 71 #71 is current carry capacity of 35sqmm cable
        # the code not ended yet, until cable size is 500sqmm..

if __name__ == '__main__':
    while True:
        amp = get_valid_input('Please enter an Ampere:')
        #cableSize = get_valid_input('Please enter the cable size:')
        cableSize = get_valid_cable_size('Please enter the cable size...:')
        set_of_cable = calculate_set_of_cable(amp, cableSize)
        print(f'The cables for {amp} ampere are {set_of_cable:.2f} sets per phase')
        print ('The program end here, Good Luck!!\n----------------------')
If possible, please revise my code above, so that I can learn and refer for my next program.. Thanks a lot
Reply


Messages In This Thread
RE: How to keep looping until the user input is valid ? - by KyawMyo - Jun-08-2019, 01:02 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Script getting reindexing only valid error cubangt 1 1,062 Dec-07-2023, 04:06 PM
Last Post: cubangt
  WHILE LOOP NOT RETURNING USER INPUT AFTER ZerroDivisionError! HELP! ayodele_martins1 7 1,122 Oct-01-2023, 07:36 PM
Last Post: ayodele_martins1
  restrict user input to numerical values MCL169 2 960 Apr-08-2023, 05:40 PM
Last Post: MCL169
Question Use function, retry until valid Ashcora 8 1,528 Jan-06-2023, 10:14 AM
Last Post: Ashcora
  user input values into list of lists tauros73 3 1,107 Dec-29-2022, 05:54 PM
Last Post: deanhystad
Information How to take url in telegram bot user input and put it as an argument in a function? askfriends 0 1,144 Dec-25-2022, 03:00 PM
Last Post: askfriends
Question Take user input and split files using 7z in python askfriends 2 1,151 Dec-11-2022, 07:39 PM
Last Post: snippsat
Sad how to validate user input from database johnconar 3 1,991 Sep-11-2022, 12:36 PM
Last Post: ndc85430
  How to split the input taken from user into a single character? mHosseinDS86 3 1,225 Aug-17-2022, 12:43 PM
Last Post: Pedroski55
  Use pexpect to send user input alisha17 0 1,941 May-10-2022, 02:44 AM
Last Post: alisha17

Forum Jump:

User Panel Messages

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