根据字符列表检查用户输入

我正在尝试将用户输入作为字符串进行检查,并将其与字符列表进行检查,我希望用户仅使用列表中的字符创建单词。


到目前为止,我可以检查第一个字母是否正确,但除此之外,我的测试失败了!


wordInput = str(input("words please: "))

if wordInput in ['w', 'v', 'g']:

print("yes")

else:

    print("no")

我不确定如何获取输入并将其拆分,以便我的测试识别输入的每个单独字符,而不是针对列表中的字符逐字测试输入。


任何帮助将不胜感激,谢谢


慕丝7291255
浏览 91回答 3
3回答

长风秋雁

这里的 pythonic 方法是使用 all:word_input = input("words please: ")if all(ch in ['w','v','g'] for ch in word_input):    print("yes")else:    print("no").. for ch in word_input逐个生成每个字符。一旦测试失败,就会返回;如果所有测试都通过,则返回 。word_inputch in [..]allFalseTrue

慕娘9325324

这里的 pythonic 方法是使用集合:def validate_input(userword, accepted_chars):    return set(accepted_chars).issuperset(userword)def main():    # input() always returns a string in Py3        userword = input("words please:")    if validate_input(userword, "wvg"):        print("ok")    else:        print("ko")if __name __ "__main__":    main()

动漫人物

一种方法是将所有字符与主列表进行匹配。wordInput = str(input("words please: "))only_valid_characters = ['w', 'v', 'g']validatedInput = [valid_char for valid_char in wordInput if valid_char in only_valid_characters]if len(wordInput) == len(validatedInput):    print("yes")else:    print("no")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python