如何确保用户在Python中只能输入某些字符?

问题描述 投票:0回答:1

在我的程序中,每次都会随机生成6个字母并给用户。我希望用户只能输入这6个字母,如果他们不输入,就会出现错误。当我尝试使用for循环时,它重复用户输入的字母数的代码。当我使用regex时,它只接受完全相同的代码。我怎样才能解决这个问题?

编码

from random_word import RandomWords
r = RandomWords()

print("WELCOME TO THE ANAGRAM GAME!")
word = r.get_random_word(minLength = 6, maxLength = 6)
print(word)

done = time.time() + 60 * 1
while time.time() < done:
    q1 = input("Enter your anagrams")
    if re.findall(word, q1):
        print("Correct")
        answers = []
        answers.append(q1)
        print(answers)
        score = 0
    else:
        print("Wrong")
python python-3.x input
1个回答
2
投票

比较字母集。

if set(word) >= set(q1): # Same (or fewer) letters

操作员 >= 检查右操作数是否是左操作数的子集。


0
投票

如果你在一个列表中拥有这些随机字母。

if set(userInput).issubset(set(randomLetters)):
    #dosomething
© www.soinside.com 2019 - 2024. All rights reserved.