首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

How to test multiple variables against a value?

需求分析

尝试创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串。即:

希望得到:

python要如何实现?

Answers

你误解了布尔表达式的工作原理,不像英文语义那样,对你提到的变量进行自动比较。解决方案如下:

x、y会自行评估(如果0为False,否则为True)。

您也可以使用元组来判断:

或者字典:

使用集合,可以利用其常量花费成本低的优势来测试(in无论操作数是多少,都需要一定的时间)。

使用or时,python会将运算符的每一侧视为单独的表达式。表达式首先被视为x的bool测试,如果为False,才会执行。

这是由于操作符的优先权。or具有比较低的优先级,因此后者==被评估为优先。

但是,即使不是这种情况,并且表达式实际上被解释为的反结果,仍然不会按照您的预期执行。

被判定为真假的第一个参数有,例如not False,数字0或empty(有关Python在布尔运算中认为false的详细信息,请参阅布尔表达式)。

因此对于值将解析为2,因为这是参数中第一个类似真值的值。那结果就是False,即使会为True。

这同样适用于逆运算, 针对单个变量测试多个值,如因为同样的原因会失败。正确的使用方式是或。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190122G0BB4K00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券