Python 验证输入并检查输入是否为';在一个范围内 print(“您想做什么:\n1.输入新信息\n2.房子- 基于statsitics\n3.特定标准统计信息) 尽管如此: 尝试: 选项=输入(“输入1、2或3:”) 除值错误外: 选项=输入(“输入1、2或3:”) 如果选项3: 选项=输入(“输入1、2或3:”) 其他: 打破 打印(可选)
我试图确保我的输入在1到3之间,当我这样做时,我会得到一个TypeError,但是如果我将其更改为Python 验证输入并检查输入是否为';在一个范围内 print(“您想做什么:\n1.输入新信息\n2.房子- 基于statsitics\n3.特定标准统计信息) 尽管如此: 尝试: 选项=输入(“输入1、2或3:”) 除值错误外: 选项=输入(“输入1、2或3:”) 如果选项3: 选项=输入(“输入1、2或3:”) 其他: 打破 打印(可选),python,python-3.x,validation,Python,Python 3.x,Validation,我试图确保我的输入在1到3之间,当我这样做时,我会得到一个TypeError,但是如果我将其更改为int(option=input(“输入12或3:”)),如果输入字符串,它将返回一个错误。用于检查输入是否在指定范围内: print("What would you like to do:\n1. Enter new information\n2. House- based statsitics\n3. Specific Criteria statistics") while True:
int(option=input(“输入12或3:”)
),如果输入字符串,它将返回一个错误。用于检查输入是否在指定范围内:
print("What would you like to do:\n1. Enter new information\n2. House-
based statsitics\n3. Specific Criteria statistics")
while True:
try:
option = input("Enter 1 2 or 3: ")
except ValueError:
option = input("Enter 1 2 or 3: ")
if option < 1 and option > 3:
option = input("Enter 1 2 or 3: ")
else:
break
print(option)
样本运行:
print("What would you like to do:\n1. Enter new information\n2. House- based statsitics\n3. Specific Criteria statistics")
while True:
try:
option = int(input("Enter 1 2 or 3: "))
except ValueError:
option = int(input("Enter 1 2 or 3: "))
if option in range(1, 4):
break
print(option)
用于检查输入是否在指定范围内:
print("What would you like to do:\n1. Enter new information\n2. House-
based statsitics\n3. Specific Criteria statistics")
while True:
try:
option = input("Enter 1 2 or 3: ")
except ValueError:
option = input("Enter 1 2 or 3: ")
if option < 1 and option > 3:
option = input("Enter 1 2 or 3: ")
else:
break
print(option)
样本运行:
print("What would you like to do:\n1. Enter new information\n2. House- based statsitics\n3. Specific Criteria statistics")
while True:
try:
option = int(input("Enter 1 2 or 3: "))
except ValueError:
option = int(input("Enter 1 2 or 3: "))
if option in range(1, 4):
break
print(option)
或者仅仅是:
What would you like to do:
1. Enter new information
2. House- based statsitics
3. Specific Criteria statistics
Enter 1 2 or 3: 0
Enter 1 2 or 3: 4
Enter 1 2 or 3: a
Enter 1 2 or 3: 2
2
由于限制了3个字符串'1',2',3'
,在转换为int
时,甚至不需要捕捉ValueError
,或者只需要:
What would you like to do:
1. Enter new information
2. House- based statsitics
3. Specific Criteria statistics
Enter 1 2 or 3: 0
Enter 1 2 or 3: 4
Enter 1 2 or 3: a
Enter 1 2 or 3: 2
2
由于限制了3个字符串'1'、'2'、'3'
,在转换为int
时,甚至不需要捕捉ValueError
option = None
while option not in {'1', '2', '3'}: # or: while option not in set('123')
option = input("Enter 1 2 or 3: ")
option = int(option)
试试这个:
option = None
while option not in {'1', '2', '3'}: # or: while option not in set('123')
option = input("Enter 1 2 or 3: ")
option = int(option)
如果选项<1和选项>3:
永远不可能为真。一个数字不能同时小于1和大于3。另外,input
总是返回一个字符串,如果option<1和option>3:永远不能为真,则需要将其转换为int。一个数字不能同时小于1和大于3。另外,input
总是返回一个字符串,您需要将其转换为有效的int,我只需要将范围更改为有效的(1,4),我只需要将范围更改为(1,4),如果用户输入0?此外,这并不要求重复输入。重复的迭代有任何限制吗?(多少次迭代)这个问题应该包含在while循环中。为什么在成功时从函数内部调用函数?这也将接受-2
。递归的作用是什么?您将永远无法询问用户输入(或直到达到递归限制);程序应该继续运行。如果用户输入0?同样,这不会要求重复输入。重复的迭代有任何限制吗?(多少次迭代)问题应该包含在while循环中。为什么在成功时从函数内部调用函数?这也将接受-2
。递归的作用是什么?您将永远无法询问用户输入(或直到达到递归限制);这个节目应该继续进行下去,这样就有了一些东西。