相关疑难解决方法(0)

如何针对值测试多个变量?

我正在尝试创建一个函数,将多个变量与一个整数进行比较,并输出一个由三个字母组成的字符串.我想知道是否有办法将其翻译成Python.所以说:

x = 0
y = 1
z = 3
mylist = []

if x or y or z == 0 :
    mylist.append("c")
if x or y or z == 1 :
    mylist.append("d")
if x or y or z == 2 :
    mylist.append("e")
if x or y or z == 3 : 
    mylist.append("f")
Run Code Online (Sandbox Code Playgroud)

这将返回一个列表

["c", "d", "f"]
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

python comparison boolean-logic if-statement match

594
推荐指数
19
解决办法
19万
查看次数

Python布尔表达式和或

在python中,如果你写的东西像

foo==bar and spam or eggs
Run Code Online (Sandbox Code Playgroud)

如果布尔语句为true,则python似乎返回垃圾邮件,否则返回egg.有人可以解释这种行为吗?为什么表达式没有被评估为像一个长布尔值?

编辑:具体来说,我试图弄清楚为什么'垃圾'或'鸡蛋'作为表达结果返回的机制.

python syntax boolean-expression

18
推荐指数
2
解决办法
2万
查看次数

布尔运算符如何处理python中的字符串

True and "asdf" or "qwer"
Run Code Online (Sandbox Code Playgroud)

结果 => "asdf"

False and "asdf" or "qwer"
Run Code Online (Sandbox Code Playgroud)

结果 => "qwer"

我无法理解这些东西是如何运作的。我认为字符串上的布尔运算符会导致类型错误,但事实并非如此。它是否类似于预定义语句,例如“a if b else c”?

python

3
推荐指数
1
解决办法
2079
查看次数