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 ?
#5
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:
        try:
            if cableSize in (25, 35, 50, 70, 95, 120, 150, 195, 250, 300, 500):
                return cableSize
                break
        except:
            print('Please enter a valid cable size')

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(cableSize)
        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----------------------')
The code don't work, if I input the value not in tuple, the program doesn't loop until get corrected. Please help...I really no idea how to do that....Just 2 and half months python journey........
Reply


Messages In This Thread
RE: Please advise, want to keep looping util the user input is valid - by KyawMyo - Jun-08-2019, 09:43 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  is this a valid variable name? Skaperen 5 243 10 hours ago
Last Post: snippsat
  Script getting reindexing only valid error cubangt 1 1,234 Dec-07-2023, 04:06 PM
Last Post: cubangt
  WHILE LOOP NOT RETURNING USER INPUT AFTER ZerroDivisionError! HELP! ayodele_martins1 7 1,248 Oct-01-2023, 07:36 PM
Last Post: ayodele_martins1
  restrict user input to numerical values MCL169 2 1,032 Apr-08-2023, 05:40 PM
Last Post: MCL169
Question Use function, retry until valid Ashcora 8 1,597 Jan-06-2023, 10:14 AM
Last Post: Ashcora
  user input values into list of lists tauros73 3 1,176 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,216 Dec-25-2022, 03:00 PM
Last Post: askfriends
Question Take user input and split files using 7z in python askfriends 2 1,205 Dec-11-2022, 07:39 PM
Last Post: snippsat
Sad how to validate user input from database johnconar 3 2,097 Sep-11-2022, 12:36 PM
Last Post: ndc85430
  How to split the input taken from user into a single character? mHosseinDS86 3 1,272 Aug-17-2022, 12:43 PM
Last Post: Pedroski55

Forum Jump:

User Panel Messages

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