Daniel J :
This code should tell exactly what error the user is making and prompt to try again.
How can I make custom error messages for each error?
Would there be a much more simpler solution like the do-while in c-programming?
while True:
height = int(input("Height: "))
try:
check_answer = int(height)
assert (int(height) > 0)
assert (int(height) < 9)
break
except ValueError:
print("must enter a number")
except (???):
print("enter a number greater than 0")
except (???):
print("enter a number smaller than 9")
blhsing :
If you must use the assert
statement, you can pass the message as a second argument so that it becomes the message of the AssertionError
exception:
while True:
try:
height = int(input("Height: "))
assert height > 0, "enter a number greater than 0"
assert height < 9, "enter a number smaller than 9"
break
except ValueError:
print("must enter a number")
except AssertionError as e:
print(str(e))
But what you want to achieve is usually done with simple if
statements instead:
while True:
try:
height = int(input("Height: "))
except ValueError:
print("must enter a number")
if height <= 0:
print("enter a number greater than 0")
elif height >= 9:
print("enter a number smaller than 9")
else:
break
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=395032&siteId=1