假设我通过将输入转换为list来创建列表:
Lst = list(input())
如何进行循环以使用户的输入仅包含R B或G
例如,如果输入为Rbrg,则循环应该继续,直到仅包含R
,B
或G
的输入(无空格)
使用正则表达式,模式是:
pat = re.compile("[RBG]")
for each in Lst:
while True:
if not re.match(pat, each):
Lst = list(input())
else:break
我是在正确的轨道上吗?
答案 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