【发布时间】:2017-09-08 11:48:41
【问题描述】:
在Think Python, 2nd Edition中,作者将条件表达式定义为“根据条件具有两个值之一的表达式。” 但经过思考后,我认为定义的准确性可能有问题。这是一个使用条件表达式编写的函数:
def get_sign(n):
"""Returns 1 if n is a positive number, -1 if n is a negative number,
or 0 if n is a zero
"""
return 1 if n > 0 else -1 if n < 0 else 0
这里的条件表达式是1 if n > 0 else -1 if n < 0 else 0。对此有两个观察结果:
表达式具有三个可能值之一,即
1、-1或0。取值取决于两个条件,分别是
n > 0和n < 0。
那么,作者的定义准确吗?为什么?为什么不准确?是“一个表达式,其值取决于一个或多个条件,并且具有多个值之一(至少两个)。”条件表达式的更准确定义,为什么为什么不呢?
【问题讨论】:
-
每个条件表达式只有2个结果。恰好第一个表达式的结果之一是另一个条件表达式。
-
根据条件计算两个子表达式之一的表达式。
-
@StevenRumbalski 这是一个非常好的定义!它有助于理清思路。谢谢。
标签: python python-3.x conditional conditional-statements definition