[英]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.