为了账号安全,请及时绑定邮箱和手机立即绑定

我想要输出 None 而不是 0

我想要输出 None 而不是 0

繁星coding 2021-08-14 16:04:55
def second_largest(numbers):    first, second = 0,0    for n in numbers:        if n > first:            first, second = n, first        elif first > n > second:            second = n    return secondprint(second_largest([2,2,2]))如果没有第二大数字并且还有空列表,我想通过 None 而不是 0 输出。
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

尝试将返回行更改为return second or None


查看完整回答
反对 回复 2021-08-14
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

在 return 语句中稍作调整就可以了。查看以下代码:


def second_largest(numbers):

    first, second = 0,0

    for n in numbers:

        if n > first:

            first, second = n, first

        elif first > n > second:

            second = n

    return None if second ==0 else second

print(second_largest([2,2,2]))


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信