python if语句多个条件-python – if / elif语句的多个条件

参见英文答案 > How to test multiple variables against a value?                                    21个

我试图从多个条件触发if语句,而不用不同的触发器多次重写语句.例如.:

if user_input == "look":

print description

if user_input == "look around":

print description

你会如何将它们浓缩成一个陈述?

我尝试使用’或’,它会导致任何raw_input触发语句,无论输入是否匹配任何条件.

if user_input == "look" or "look around":

print description

解决方法:

你要做的是

if user_input == "look" or user_input == "look around":

print description

如果你有很多可能性,另一种选择:

if user_input in ("look", "look around"):

print description

由于你使用的是2.7,你也可以这样写(它在2.7或3中工作,但不在2.6或以下):

if user_input in {"look", "look around"}:

print description

这会产生set个元素,搜索速度会稍微快一些(尽管只有在你检查的元素数量远大于2时才有意义).

你第一次尝试的原因是这个. Python中的大多数内容都评估为True(除了False,None或空字符串,列表,dicts,…).或者采取两件事并将其评估为布尔值.所以user_input ==“look”或“环顾四周”被视为(user_input ==“look”)或“look_around”;如果第一个是假的,那就像你写的“look_around”:,它将永远经历.

标签:python,python-2-7,if-statement

来源: https://codeday.me/bug/20190923/1813801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值