当前位置:嗨网首页>书籍在线阅读

01-输入验证

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第8章 输入验证

“输入验证”代码检查用户输入值(例如, `input()` 函数中的文本)的格式是否正确。例如,如果你希望用户输入年龄,那么代码不应该接受无意义的答案,例如负数(超出可接受的整数范围)或单词(数据类型错误)。输入验证还可以防止错误或安全漏洞。如果编写一个 `withdrawFromAccount()` 函数,该函数接收一个参数,表示要从账户中减去的金额,那么需要确保金额为正数。如果 `withdrawFromAccount()` 函数从账户中减去负数,那么“提款”最后会变成“存款”。

57.png

视频讲解

通常,我们执行输入验证的方式是反复要求用户输入,直到他们输入有效的文本,如下所示:

while True:
    print('Enter  your  age:') 
    age = input()
    try:
        age  =  int(age) 
    except:
        print('Please use numeric digits.')
        continue
    if age < 1:
        print('Please enter a positive number.')
        continue
    break
print(f'Your age is {age}.')

运行这个程序,输出结果可能如下所示:

Enter your age:
five
Please use numeric digits. 
Enter your age:
-2
Please enter a positive number. 
Enter your age:
30
Your age is 30.

运行这段代码,系统会提示你输入年龄,直到你输入有效的年龄为止。这样可以确保在执行退出 while 循环时, age 变量包含有效值,以后不会使程序崩溃。

但是,为程序中的每个 input() 调用编写输入验证代码会很乏味。此外,你可能会遗漏某些情况,并允许无效输入通过检查。在本章中,你将学习如何使用第三方PyInputPlus模块进行输入验证。

202102243C46EFBD.jpg