在IF语句中使用OR比较
在Python中使用IF语句时,你需要这样做才能让“级联”正确工作。
if job == "mechanic" or job == "tech":
print "awesome"
elif job == "tool" or job == "rock":
print "dolt"
有没有办法让Python在检查“等于”时接受多个值?比如说,
if job == "mechanic" or "tech":
print "awesome"
elif job == "tool" or "rock":
print "dolt"
6 个回答
1
这段代码是用来做某些操作的,但具体的功能需要根据上下文来理解。通常情况下,代码块里会包含一些指令或者函数,帮助程序完成特定的任务。
如果你看到类似的代码,首先要明白它们是如何工作的。每一行代码都有它的作用,可能是计算数据、处理信息或者与用户进行交互。
在学习编程时,遇到代码块是很常见的事情。你可以尝试逐行分析,看看每一部分是做什么的,慢慢就能掌握这些代码的含义了。
总之,代码块是编程中的重要组成部分,理解它们能帮助你更好地学习和应用编程知识。
if job in ("mechanic", "tech"):
print "awesome"
elif job in ("tool", "rock"):
print "dolt"
4
你可以在以下情况下使用:
if job in ["mechanic", "tech"]:
print "awesome"
当你需要检查非常大的数字时,提前存储一组要检查的项目可能会更快。比如:
AwesomeJobs = set(["mechanic", "tech", ... lots of others ])
...
def func():
if job in AwesomeJobs:
print "awesome"
39
if job in ("mechanic", "tech"):
print "awesome"
elif job in ("tool", "rock"):
print "dolt"
括号里的值是一个元组。in
运算符用来检查左边的项目是否在右边的元组里出现过。
需要注意的是,当Python用in
运算符查找元组或列表时,它是线性搜索的。如果右边的项目数量很多,这可能会导致性能问题。一个更高效的方法是使用frozenset
:
AwesomeJobs = frozenset(["mechanic", "tech", ... lots of others ])
def func():
if job in AwesomeJobs:
print "awesome"
如果你程序运行时不需要改变那些很棒的工作的列表,使用frozenset
比set
更好。