[英]Function prints none instead of printing what I want it to print in decorators in Python
[英]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]))
如果没有第二大数字并且也有空列表,我想输出None不为0。
尝试更改返回行以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 second
print(second_largest([2,2,2]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.