我是 python 的新手,我这辈子都无法让它工作。我想设置这个小脚本来检查用户输入的内容是否等于列表中的任何名称,以及它是否正在执行一个函数。如果用户输入的不是名称之一,它应该执行不同的功能。这看起来应该很简单,但我无法弄清楚。我已经让它与多个 elif 语句一起工作来检查每个案例,但似乎应该有一个更优雅的解决方案,然后每次我想检查一个名字时只需输入 50 个 elif 语句。
当前脚本:
names=['Scott', 'Doug', 'Sam', 'Harry']
typedname=str(input('What is your name?: '))
if typedname==['Scott' or 'Doug' or 'Sam' or 'Harry']:
print('you are '+typedname)
else:
print('You are not in the names list')
请您参考如下方法:
if typedname in ['Scott', 'Doug', 'Sam', 'Harry']:
print('You are', typedname):
else:
print('You are not in the names list')
Python 3.2 为这种情况带来了优化:
if typedname in {'Scott', 'Doug', 'Sam', 'Harry'}:
将被翻译成一个frozenset,搜索将在恒定时间内进行,并且该集合将在编译字节码时构建。
