所以,在最终弄清楚如何从列表中一次调用多个对象之后,我遇到了另一个问题;我似乎无法调用多个项目,除非它们按顺序排列。我想读取用户输入并将其解释为命令,无论输入的单词顺序如何。
command = input("Enter command: ")
keywords = command.split()
if set(keywords).issubset(['hello','world']):print("Hello world!")
这会打印“Hello world!”当输入是“hello world”或“world hello”时,但我希望它在以任何顺序输入时都能工作;例如“向世界,你好”或“向世界你好”。
这里存在一个问题,允许对“世界”和“你好”进行任何排列:
默认情况下,Python 中的字符串比较区分大小写。使用
.lower
方法来防止这种情况。
当匹配非字母数字字符串(如“,”或“.”)时可以留在
.split
。因此,您必须清理输入才能输入“to the world, hello”,因为拆分会输出 world,
。
只需在 if 语句中使用
{}
询问集合即可。
command = input("输入命令:").lower()
cleaned_command = ''.join(c if c.isalnum() or c.isspace() else ' ' for c in command)
关键字 = clean_command.split()
if {'hello', 'world'}.issubset(关键字): 打印(“你好世界!”)