Python中带有两个条件的if语句

2024-05-20 00:54:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个简单的控制台程序来帮助我自己和一些地质学同学进行岩石样品分析。我们的讲师给我们提供了一个流程图,帮助我们明确样品的特性。我正试图把它变成一个控制台程序。在

我的问题是,第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'

提前感谢:-)


Tags: the程序anreturnifis样品option
2条回答
if choice1 in ('1', 'Coherent'):

您可以构造元素列表,if条件应该为Truthy,然后像这样使用in运算符来检查choice1的值是否在元素列表中,如下所示

if choice1 in ['1', 'Coherent']:
...
elif choice1 in ['2', 'Clastic']:
...

也可以使用元组而不是列表

^{pr2}$

如果要检查的项目列表非常庞大,那么您可以构造一个这样的集合

if choice1 in {'1', 'Coherent'}:
...
elif choice1 in {'2', 'Clastic'}:
...

sets提供比列表或元组更快的查找。您可以使用set literal syntax ^{}创建{}s

相关问题 更多 >