摘要:使用 Python 编写应用程序时,用户输入数据时可能是不可预测的,有时甚至是非常危险的。在本文中,介绍如何实现输入验证,反复提示用户输入有效,以确保应用程序安全可靠。
使用 Python 编写应用程序时,用户输入数据时可能是不可预测的,有时甚至是非常危险的。在本文中,介绍如何实现输入验证,反复提示用户输入有效,以确保应用程序安全可靠。
try...except 语句用于 Python 中的异常处理。该语句分为三个部分,有不同的用途。
try:含要测试可能包含错误的代码。except:添加异常和代码报错时的应对措施。finally:无论结果如何都要执行的代码。while True: try: num = int(input("请输入一个整数:")) break except ValueError: print("输入无效。请输入一个整数:")输出:
请输入一个整数:a输入无效。请输入一个整数:请输入一个整数:3.14输入无效。请输入一个整数:请输入一个整数:1如果需要确保输入在一定范围内,可以使用 if 语句进行判断。
num = 0while True: try: num = int(input("请输入一个 1~10 的整数:")) except ValueError: print("输入无效。请输入一个 1~10 的整数:") continue if num >= 1 and num输出:
请输入一个 1~10 的整数:a输入无效。请输入一个 1~10 的整数:请输入一个 1~10 的整数:3.14输入无效。请输入一个 1~10 的整数:请输入一个 1~10 的整数:11请输入一个 1~10 的整数:9你输入的是:9对于复杂的输入验证,例如确保电子邮件地址或电话号码格式正确,可以使用正则表达式 (regex)。
import redef validate_email: while True: email = input("请输入电子邮件: ") pattern = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$" if re.match(pattern, email): return email else: print("邮件地址格式不正确。")email = validate_emailprint(f'你的输入是:{email}')def valid_input(prompt, valid_func): while True: user_input = input(prompt) if valid_func(user_input): return user_inputdef positive_number(input): try: number = float(input) if number > 0: return True else: return False except ValueError: return Falsenum = valid_input("请输入一个正数:", positive_number)print("你输入的是:", num)在上面的示例中,自定义了一个输入函数 valid_input ,循环调用自定义的校验函数。校验函数可以根据实际情况进行更换。
def valid_input(prompt, valid_func): while True: user_input = input(prompt) if valid_func(user_input): return user_inputdef confirm(input): if input.lower == 'yes' or input.lower == 'no': return True else: return Falsename = valid_input("请确认(yes/no):", confirm)print("你输入的是:", name)来源:信息科技云课堂
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!