While loops are known as indefinite or conditional loops.They will keep iterating until certain conditions are met. The and similar methods are less practical when you have to validate the input and give a chance to retry. Using a scanner for extracting numbers or tokens from a stream of input is great when the data is guaranteed to be in the expected format, and when it's ok to crash on any error.Here is another example showing a boolean variable being used to control the loop. In this case, the boolean variable is named Invalid. The code within the loop is executed until Invalid is set to False.This is a good method for validating any input that needs to be within a certain range.The purpose of this code is to produce a consistent method to validate user input, and not let the program proceed until the user has inputted a correct type.The class methods accept user input as string, attempt to convert that input to the expected type.
My program fails and continues with the rest of the code thus looping the program as seen in one of my comments above as if 'N' or "n' was inputted. The loop will continue requesting the user for another input as long as the conversion to the proper type failed.An example of using this code in your program can be something like: In the case above, the system will repeatedly ask “Please type your ID number” until the user inserts a proper integer value.First, we set up a method to test whether or not the accepted input can be converted to a specific type: The loop is called with a string parameter that decides which message the user will see.This message will repeat itself each time the loop requests for the input.$ kubectl get pods Unable to connect to the server: EOF $ kops-1.5.0-alpha3 validate cluster Using cluster from kubectl context: xxxxxx.Validating cluster xxxxxx.Cannot get nodes for "xxxxxx.photobox.com": Get https://api.xxxxxx.photobox.com/api/v1/nodes: EOF $ kops-1.5.0-alpha3 validate cluster Using cluster from kubectl context: xxxxxx.Validating cluster xxxxxx.Cannot get nodes for "xxxxxx.photobox.com": Get https://api.xxxxxx.photobox.com/api/v1/nodes: EOF $ kops-1.5.0-alpha3 validate cluster Using cluster from kubectl context: xxxxxx.Validating cluster xxxxxx.INSTANCE GROUPS NAME ROLE MACHINETYPE MIN MAX SUBNETS bastions Bastion t2.micro 1 1 utility-eu-west-1b,utility-eu-west-1c,utility-eu-west-1a master-eu-west-1a Master m3.large 1 1 eu-west-1a master-eu-west-1b Master m3.large 1 1 eu-west-1b master-eu-west-1c Master m3.large 1 1 eu-west-1c nodes Node m3.large 5 5 eu-west-1b,eu-west-1c,eu-west-1a NODE STATUS NAME ROLE READY ip-10-0-102-114.eu-west-1.compute.internal master True ip-10-0-104-134.eu-west-1.compute.internal node False ip-10-0-120-191.eu-west-1.compute.internal node True ip-10-0-47-148.eu-west-1.compute.internal node False ip-10-0-58-87.eu-west-1.compute.internal master True ip-10-0-78-49.eu-west-1.compute.internal node False ip-10-0-80-192.eu-west-1.compute.internal master True ip-10-0-84-31.eu-west-1.compute.internal node False Validation Failed Master(s) Not Ready 0 out of 3.