在 Python 中将用户输入限制在一个范围内
Limiting user input to a range in Python
将用户输入限制在一个范围内:
- 使用
while
循环迭代,直到提供的输入值在范围内。 - 在每次迭代中,检查值是否在指定范围内。
- 如果满足条件,则使用
break
语句跳出循环。
主程序
num = 0 while True: try: num = int(input("Enter an integer 1-5: ")) except ValueError: print("Please enter a valid integer 1-5") continue if num >= 1 and num <= 5: print(f'You entered: {num}') break else: print('The integer must be in the range 1-5')
我们使用while
循环进行迭代,直到提供的输入值在指定范围内。
如果try
块成功完成,则用户输入一个整数。
该
if
语句检查整数是否在 1-5 范围内,如果满足条件,则跳出while
循环。主程序
num = 3 if num >= 1 and num <= 5: # 👇️ True print('The number is in the range 1-5') print(num in range(1, 6)) # 👉️ True print(list(range(1, 6))) # 👉️ [1, 2, 3, 4, 5]
break
语句跳出最内层的封闭或
for
循环while
。
主程序
num = 0 while True: try: num = int(input("Enter an integer 1-5: ")) except ValueError: print("Please enter a valid integer 1-5") continue if num >= 1 and num <= 5: print(f'You entered: {num}') break else: print('The integer must be in the range 1-5')
如果整数不在指定范围内,该else
块将运行并打印一条消息。
如果用户没有输入整数,except
块运行,我们使用
continue
语句再次提示用户。
该continue
语句继续循环的下一次迭代。
while
当在循环中验证用户输入时,我们在输入无效时使用语句,例如在块或语句中。 continue
except
if
如果输入有效,我们使用break
语句退出while
循环。
您还可以使用in
运算符和range()
类来检查用户输入值是否在一个范围内。
主程序
num = 0 while True: try: num = int(input("Enter an integer 1-5: ")) except ValueError: print("Please enter a valid integer 1-5") continue if num in range(1, 6): print(f'You entered: {num}') break else: print('The integer must be in the range 1-5')
in 运算符
测试成员资格。
例如,如果是 的成员,则x in l
计算为 ,否则计算为。True
x
l
False
主程序
r = list(range(1, 6)) print(r) # 👉️ [1, 2, 3, 4, 5] print(2 in r) # 👉️ True print(100 in r) # 👉️ False
range类通常用于在循环中循环特定次数,for
并采用以下参数:
姓名 | 描述 |
---|---|
start |
表示范围开始的整数(默认为0 ) |
stop |
向上,但不包括提供的整数 |
step |
范围将由每 N 个数字组成,从start 到stop (默认为1 ) |
如果您只将单个参数传递给range()
构造函数,则它被认为是stop
参数的值。
主程序
print(list(range(3))) # 👉️ [0, 1, 2] print(list(range(1, 3))) # 👉️ [1, 2]