在 Python 中验证用户输入

在 Python 中验证用户输入

Validating user input in Python

验证用户输入:

  1. 使用while循环迭代,直到提供的输入值有效。
  2. 检查输入值在每次迭代中是否有效。
  3. 如果该值有效,则跳出while循环。
主程序
# ✅ Validating integer user input num = 0 while True: try: num = int(input("Enter an integer 1-10: ")) except ValueError: print("Please enter a valid integer 1-10") continue if num >= 1 and num <= 10: print(f'You entered: {num}') break else: print('The integer must be in the range 1-10') # ---------------------------------------------- # ✅ Validating string user input password = '' while True: password = input('Enter your password: ') if len(password) < 5: print('Password too short') continue else: print(f'You entered {password}') break print(password)

输入验证码

第一个示例在while循环中验证数字用户输入。

如果try块成功完成,则用户输入一个整数。

主程序
num = 0 while True: try: num = int(input("Enter an integer 1-10: ")) except ValueError: print("Please enter a valid integer 1-10") continue if num >= 1 and num <= 10: print(f'You entered: {num}') break else: print('The integer must be in the range 1-10')

if语句检查整数是否在 1-10 范围内,如果满足条件,则跳出while循环。

break
语句跳出最内层的封闭

for循环while

如果整数不在指定范围内,该else块将运行并打印一条消息。

如果用户没有输入整数,except块运行,我们使用
continue语句再次提示用户。

continue语句继续循环的下一次迭代。

while当在循环中验证用户输入时,我们在输入无效时使用语句,例如在块或语句中。 continue exceptif

如果输入有效,我们使用break语句退出while
循环。

输入函数接受一个可选prompt参数并将其写入标准输出而没有尾随换行符

然后该函数从输入中读取该行,将其转换为字符串并返回结果。

请注意,该input()函数始终保证返回一个字符串,即使用户输入了一个数字。

您可以在验证用户输入字符串时使用相同的方法。

下面是一个提示用户输入的示例,直到他们输入至少 5 个字符长的值。

主程序
password = '' while True: password = input('Enter your password: ') if len(password) < 5: print('Password too short') continue else: print(f'You entered {password}') break print(password)

输入验证字符串

循环不断迭代,while直到用户输入一个长度至少为 5 的值。

如果值太短,我们使用continue语句继续下一次迭代。

如果该值至少有 5 个字符长,我们使用该break语句作为输入有效。

如果需要检查多个条件,可以使用布尔值or和运算符。and

下面是一个示例,它检查输入值是否至少有 5 个字符长并且不在值列表中。

主程序
password = '' common_passwords = ['abcde', 'asdfg'] while True: password = input('Enter your password: ') if len(password) < 5 or password in common_passwords: print('Pick a strong password') continue else: print(f'You entered {password}') break print(password)

输入验证或运算符

if语句检查密码是否少于5字符或是否在常用密码列表中。

我们使用了布尔or运算符,因此if如果满足两个条件中的任何一个,该块就会运行。

如果密码少于5字符数或包含在常用密码列表中,我们continue将进行下一次迭代并再次提示用户。

and如果您需要在验证输入时检查是否满足多个条件,请使用布尔运算符。

主程序
password = '' common_passwords = ['abcde', 'asdfg'] while True: password = input('Enter your password: ') if len(password) > 5 and password not in common_passwords: print(f'You entered {password}') break else: print('Pick a strong password') continue print(password)

我们使用了and布尔运算符,因此要使if块运行,必须满足两个条件。

密码必须比5字符长,并且不能出现在常用密码列表中。

如果满足条件,我们使用break语句退出
while True循环。

如果不满足条件,我们使用该continue语句继续下一次迭代。

发表评论