我正在编写一个简单的控制台程序,以帮助自己和一些地质学家进行岩石样本分析。我们的讲师为我们提供了一个有助于指定样品特征的流程图。我试图把它变成一个控制台程序。
我的问题是第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'
提前致谢: - )
答案 0 :(得分:5)
您可以构建if
条件应评估为Truthy的元素列表,然后使用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
提供比列表或元组更快的查找。您可以使用set literal syntax {}
答案 1 :(得分:2)
if choice1 in ('1', 'Coherent'):