如何在Python中重新执行代码行以获取合规10位ID输入?
实现10位ID的循环输入验证
你的原代码用三元表达式只能执行一次输入判断,没法自动重新获取输入,而且没处理非数字输入的报错问题,这里给你一个更健壮的实现方式:
while True: input_str = input('enter id: ') # 先验证输入是否为纯数字,再检查长度是否为10位 if input_str.isdigit() and len(input_str) == 10: id = int(input_str) break print('输入错误,请输入10位数字ID')
代码逻辑说明:
- 用
while True创建无限循环,直到输入符合要求才退出 - 先获取字符串形式的输入,避免直接转
int时遇到非数字内容报错 - 双重验证:
isdigit()确保输入全是数字,len(input_str) == 10确保长度为10位 - 验证通过后将输入转为整数赋值给
id,并通过break跳出循环 - 验证失败时打印错误提示,循环会自动重新要求输入
内容的提问来源于stack exchange,提问作者frg
相关产品推荐
相关产品推荐

