为了账号安全,请及时绑定邮箱和手机立即绑定

python的用户输入验证

python的用户输入验证

弑天下 2021-07-05 08:04:35
我有一个非常简单的问题,我似乎无法找到答案,而且我对 python 非常陌生。我需要检查用户输入以查看用户是否输入了四个操作之一。操作是'^'、'&'、'|'和'q'退出。如果用户没有输入有效的操作,将再次提示用户,因此需要一个 while 循环,有没有办法在一行中测试所有操作?这是我到目前为止的代码    operation = input("enter an operation to be used\n")    print('operation chosen:', operation)    error = ("please enter |, &, ^, or q" )    while operation != '&'     print(error)
查看完整描述

3 回答

?
慕娘9325324

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))


查看完整回答
反对 回复 2021-07-06
?
Helenr

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)


查看完整回答
反对 回复 2021-07-06
?
12345678_0001

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)


查看完整回答
反对 回复 2021-07-06
  • 3 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号