Checkio 题目求赐教:关于检查序列是否为空

2018-06-13 18:03:35 +08:00
 s04

本人在解决检查序列是否为空白的时候用了 if args is None:语句,但 IDE 却返回我的错误是 max ()函数里边的参数为空。后来我在网上找了 if not args:却解决问题了,求有深入了解大佬解释一下。源代码如下。

def checkio(*args): if args is None: #if not args: return 0 #"Empty" else: max_num = max(args) min_num = min(args) answer = max_num - min_num print ("%s-%s=%s" % (max_num, min_num, answer)) return answer

#These "asserts" using only for self-checking and not necessary for auto-testing if name == 'main': def almost_equal(checked, correct, significant_digits): precision = 0.1 ** significant_digits return correct - precision < checked < correct + precision

assert almost_equal(checkio(1, 2, 3), 2, 3), "3-1=2"
assert almost_equal(checkio(5, -5), 10, 3), "5-(-5)=10"
assert almost_equal(checkio(10.2, -2.2, 0, 1.1, 0.5), 12.4, 3), "10.2-(-2.2)=12.4"
assert almost_equal(checkio(), 0, 3), "Empty"
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")

1640 次点击
所在节点    Python
3 条回复
8Cangtou
2018-06-13 18:16:12 +08:00
assert almost_equal(checkio(), 0, 3), "Empty"

None != []
ranleng
2018-06-13 18:18:46 +08:00
None 是 None, 空值是空值
8Cangtou
2018-06-13 18:21:33 +08:00
@8Cangtou 为空,不是[]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/462859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX