Python中带有两个条件的if语句
我正在写一个简单的控制台程序,目的是帮助我和一些地质学的同学分析岩石样本。我们的老师给我们提供了一张流程图,可以帮助我们确定样本的特征。我想把这个流程图做成一个控制台程序。
我想问的是,第9行的if语句是否可以同时判断两个条件,如果可以的话,我写得对吗?
def igneous_rock(self):
print "Welcome to IgneousFlowChart"
print "Assuming you are looking at an igneous rock, please choose the "
print "option which best describes the sample:"
print "1. Coherent 2. Clastic"
choice1 = raw_input("> ")
if choice1 = '1', 'Coherent': # this is the line in question!
return 'coherent'
elif choice1 = '2', 'Clastic':
return 'clastic'
else:
print "That is not an option, sorry."
return 'igneous_rock'
提前谢谢你们 :-)
2 个回答
2
这段代码是用来做某些操作的,但具体的功能需要根据上下文来理解。一般来说,代码块里可能包含一些指令或者逻辑,用来处理数据或者实现某个功能。
如果你对代码的具体内容有疑问,可以尝试逐行分析,看看每一行在做什么,或者查找相关的资料来帮助理解。
记住,编程就像学习一种新的语言,刚开始可能会觉得难,但多练习就会慢慢上手。
if choice1 in ('1', 'Coherent'):
5
你可以先列出那些在if
条件下应该被认为是真的元素,然后用in
操作符来检查choice1
的值是否在这个元素列表里,像这样:
if choice1 in ['1', 'Coherent']:
...
elif choice1 in ['2', 'Clastic']:
...
除了列表,你也可以使用元组来做同样的事情。
if choice1 in ('1', 'Coherent'):
...
elif choice1 in ('2', 'Clastic'):
...
如果要检查的项目列表非常庞大,你可以像这样创建一个集合。
if choice1 in {'1', 'Coherent'}:
...
elif choice1 in {'2', 'Clastic'}:
...
set
集合的查找速度比列表或元组要快。你可以用集合字面量语法{}
来创建set
集合。