验证列表内容

时间:2018-02-17 00:33:05

标签: python list validation input

假设我通过将输入转换为list来创建列表:

Lst = list(input())

如何进行循环以使用户的输入仅包含R B或G

例如,如果输入为Rbrg,则循环应该继续,直到仅包含RBG的输入(无空格)

使用正则表达式,模式是: pat = re.compile("[RBG]")

for each in Lst:
    while True:
        if not re.match(pat, each):
            Lst = list(input())
        else:break

我是在正确的轨道上吗?

2 个答案:

答案 0 :(得分:1)

这是另一种方式。我对检查案例不敏感。

while True:

    user_input = input('enter strings: ')

    if set(map(str.lower, user_input)) <= set('rbg'):

        print(user_input)

        break

答案 1 :(得分:0)

您可以使用函数all生成器理解而不是正则表达式:

while True:
   user_input = input('enter string: ')
   if all(i in 'RGB' for i in user_input):
      do_something(user_input)
      break