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

1 投票
2 回答
3655 浏览
提问于 2025-04-17 22:54

我正在写一个简单的控制台程序,目的是帮助我和一些地质学的同学分析岩石样本。我们的老师给我们提供了一张流程图,可以帮助我们确定样本的特征。我想把这个流程图做成一个控制台程序。

我想问的是,第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集合。

撰写回答