【发布时间】:2022-11-06 12:47:58
【问题描述】:
我正在尝试制作一个函数,它将多个变量与一个整数进行比较并输出一个由三个字母组成的字符串。我想知道是否有办法将其翻译成 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")
这将返回一个列表:
["c", "d", "f"]
【问题讨论】:
-
在(元组)中使用
1 -
当您想以任何/所有方式评估语句列表时,您可以使用
any/all函数。例如:all([1, 2, 3, 4, False])将返回 Falseall([True, 1, 2, 3])将返回 Trueany([False, 0, 0, False])将返回 Falseany([False, 0, True, False])将返回 True -
这个问题是一个非常受欢迎的重复目标,但我认为它不是这个目的的最佳选择。大多数人尝试做类似
if x == 0 or 1:的事情,这当然类似于if x or y == 0:,但对于新手来说可能有点混乱。鉴于庞大的数量“为什么我的x == 0 or 1不工作?”问题,我更愿意使用 this question 作为这些问题的规范重复目标。 -
与
0、0.0或False等“虚假”值进行比较时要格外小心。你很容易写出给出“正确”答案的错误代码。
标签: python if-statement comparison match boolean-logic