猿问

我想要输出 None 而不是 0

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 second

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

如果没有第二大数字并且还有空列表,我想通过 None 而不是 0 输出。


繁星coding
浏览 170回答 2
2回答

慕妹3146593

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

梵蒂冈之花

在 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 secondprint(second_largest([2,2,2]))
随时随地看视频慕课网APP

相关分类

Python
我要回答