3 回答

TA贡献1783条经验 获得超4个赞
此设置将只接受(^&|q)循环中的输入将循环直到用户输入这些选择,开始初始化operation为不在列表中的值以启动循环。
operation = 'x'
while operation not in ('^&|q'):
operation = input('Enter operation from "^%|q": ')
print('Operation chosen: {}'.format(operation))
Enter operation from "^%|q": a
Enter operation from "^%|q": s
Enter operation from "^%|q": d
Enter operation from "^%|q": ^
Operation chosen: ^
此路由将执行相同操作并提示用户Invalid消息,尽管此路由需要在循环初始化之前输入operation
operation = input('Enter operation from "^&|q": ')
while operation not in ('^&|q'):
operation = input('Invalid entry. Please choose from "^%|q": ')
print('Operation chosen: {}'.format(operation))

TA贡献1780条经验 获得超4个赞
欢迎来到您的 Python 之旅。这是一种使用递归和函数测试用户输入的方法,这对大型项目以及其中一些变量可能发生变化的项目很有帮助:
def checkinput(userinput):
if userinput in ('|^&q'):
return userinput
else:
loopinputline = input("please enter |, &, ^, or q\n" )
return checkinput(loopinputline)
operation = str(input("enter an operation to be used\n"))
finalinput = checkinput(operation)
print('operation chosen:', finalinput)

TA贡献1802条经验 获得超5个赞
您可以将所有有效操作存储在一个数组中,并根据该数组检查输入;正确的输入应该打破循环,不正确的输入应该引发错误并再次循环。
下面的示例代码
allowd_operations= ['|','&','^', 'q' ]
operation = ''
while True:
operation = input("enter an operation to be used\n")
if operation in allowd_operations:
# correct input
break
print('operation chosen:', operation)
error = ("please enter |, &, ^, or q" )
print(error)
添加回答
举报