def sum10(a, b):
if sum([a, b]) % 10 == 0: return True; return False
print sum10(7, 3)
print sum10(-13, -17)
print sum10(3, 8)
True
True
None
不出我所料:
True
True
False
什麼想法?
def sum10(a, b):
if sum([a, b]) % 10 == 0: return True; return False
print sum10(7, 3)
print sum10(-13, -17)
print sum10(3, 8)
True
True
None
不出我所料:
True
True
False
什麼想法?
您的代碼
def sum10(a, b):
if sum([a, b]) % 10 == 0: return True; return False
相當於
def sum10(a, b):
if sum([a, b]) % 10 == 0:
return True; return False
所以return False
不會求。
一些(的可能是無盡的)替代方案:
if sum([a, b]) % 10 == 0:
return True
return False
或
return sum([a, b]) % 10 == 0
或
return True if sum([a, b]) % 10 == 0 else False
或
return False if (a+b) % 10 else True
或(最可讀的恕我直言)
return not (a + b) % 10
這是你想要的。
def sum10(a, b):
return sum([a, b]) % 10 == 0
而且在Python中三元If
是這樣的
<True Statment> if <Conditional Expression> else <False Statement>
如
True if sum([a,b]) % 10 == 0 else False
也許我也建議使用加號?
True if (a+b) % 10 == 0 else False
感謝您的三元解決方案 – mko
如果你想擁有的if-else一個襯裏,他們應該這樣寫:
return True if sum([a, b]) % 10 == 0 else False
注缺乏兩點在那一個班輪裏。
再次感謝我回答我的問題@alestanis,三元是要走的路 – mko
我認爲return False
永遠不會執行,由於它是到如果不是外面。
所以,當你把一個真實的,如果條件下,您正在執行return True
,但從來沒有第二個聲明。
+1對於它不起作用的好解釋,我認爲我應該堅持三元的方式 – mko
謝謝牛排先生。還有一個問題,你可以讓你的「更好地使用1」到一行嗎? – mko
@yozloy我增加了更多的例子。 – sloth