无理想的闲鱼 发表于 2022-12-21 21:34:04

有很简单的代码,但是我不懂

本帖最后由 无理想的闲鱼 于 2022-12-21 21:35 编辑


红线地方没懂

tommyyu 发表于 2022-12-21 21:34:05

这就是三元运算符,格式为      变量1if表达式else变量2   ,意思为如果表达式为真,则返回 变量1,否则返回变量2
例子:>>> a, b = 3, 5
>>> small = a if a < b else b
>>> small
3上面的代码等同于>>> a, b = 3, 5
>>> if a < b:
        small = a
else:
        small = b

       
>>> small
3
>>>

无理想的闲鱼 发表于 2022-12-21 22:24:15

tommyyu 发表于 2022-12-21 21:40
这就是三元运算符,格式为      变量1if表达式else变量2   ,意思为如果表达式为真,则返回 变量 ...

if n else 1 可以解释一下吗?主要是if n不懂

tommyyu 发表于 2022-12-21 22:27:34

无理想的闲鱼 发表于 2022-12-21 22:24
if n else 1 可以解释一下吗?主要是if n不懂

Python中,非零的整数都是“True”,因此 if n 就相当于 if n != 0

无理想的闲鱼 发表于 2022-12-21 22:46:46

tommyyu 发表于 2022-12-21 22:27
Python中,非零的整数都是“True”,因此 if n 就相当于 if n != 0

def factorial(n):
    if n != 0:
      return n * factorial(n-1)
    else:
      return 1
相当于这样子,我懂了,谢谢你{:10_332:}
页: [1]
查看完整版本: 有很简单的代码,但是我不懂