简体   繁体   English

我想要输出None而不是0

[英]I want output None instead of 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]))

I want to output by None not 0 if there is no second largest number and also if there is empty list. 如果没有第二大数字并且也有空列表,我想输出None不为0。

尝试更改返回行以return second or None

A little tweak in return statement will do. 在return语句中稍作调整即可。 Check out the below code: 查看以下代码:

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]))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM