Python处理用户输入需要考虑几个问题:用户输入的数据是否合法
用户输入非法数据是否会抛出异常
用户输入非法数据后,给出友好提示并等待继续输入
在Python里比较简单的做法是使用一直循环,如果用户输入错误数据,执行continue继续等待用户输入,如果用户输入正确数据,执行break跳出循环。
用户输入可能会抛出异常
这里需要使用try-catch来捕获用户输入非法数据导致的异常。
python 3.xwhile True:
try:
age = int(input("请输入您的年龄: "))
except ValueError:
print("您输入的不是年龄")
#继续等待输入
continue
else:
#输入正确的数据(年龄),跳出循环
break
if age >= 18:
print("已满18岁")
else:
print("未满18岁")
添加校验规则
如果需要对数据进行校验,可以添加自定义的校验规则,如只允许用户输入A,B,C和D,不区分大小写while True:
data = input("输入A到D之间的字母:")
if data.lower() not in ('a', 'b', 'c', 'd'):
print("输入错误字母")
else:
break
组合使用异常处理与自定义校验
有些情况既需要处理异常&