python中if多重条件_Python中具有两个条件的if语句

1586010002-jmsa.png

I am writing a simple console program to help myself and some fellow geology students with rock sample analysis. Our lecturer provided us with a flow chart that helps to specify the characteristics of the sample. I am attempting to make this into a console program.

My question is whether it is possible for the if statement on line 9 to take two conditions and if so have I written it correctly?

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'

Thanks in advance :-)

解决方案

You can construct the list of elements for which the if condition should evaluate to Truthy, and then use in operator like this, to check if choice1's value is in that list of elements, like this

if choice1 in ['1', 'Coherent']:

...

elif choice1 in ['2', 'Clastic']:

...

Instead of lists, you can use tuples as well

if choice1 in ('1', 'Coherent'):

...

elif choice1 in ('2', 'Clastic'):

...

If the list of items to be checked is huge, then you can construct a set like this

if choice1 in {'1', 'Coherent'}:

...

elif choice1 in {'2', 'Clastic'}:

...

sets offer faster lookup than lists or tuples. You can create sets with set literal syntax {}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值