mko*_*mko 4 python conditional-statements
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)
Run Code Online (Sandbox Code Playgroud)
结果是:
True
True
None
Run Code Online (Sandbox Code Playgroud)
不是我的预期:
True
True
False
Run Code Online (Sandbox Code Playgroud)
任何的想法?
slo*_*oth 15
你的代码
def sum10(a, b):
if sum([a, b]) % 10 == 0: return True; return False
Run Code Online (Sandbox Code Playgroud)
相当于
def sum10(a, b):
if sum([a, b]) % 10 == 0:
return True; return False
Run Code Online (Sandbox Code Playgroud)
所以return False不会求.
一些(可能是无穷无尽的)替代方案:
if sum([a, b]) % 10 == 0:
return True
return False
Run Code Online (Sandbox Code Playgroud)
要么
return sum([a, b]) % 10 == 0
Run Code Online (Sandbox Code Playgroud)
要么
return True if sum([a, b]) % 10 == 0 else False
Run Code Online (Sandbox Code Playgroud)
要么
return False if (a+b) % 10 else True
Run Code Online (Sandbox Code Playgroud)
或(最易读的恕我直言)
return not (a + b) % 10
Run Code Online (Sandbox Code Playgroud)
st0*_*0le 10
这就是你想要的.
def sum10(a, b):
return sum([a, b]) % 10 == 0
Run Code Online (Sandbox Code Playgroud)
IfPython中的三元也是这样的
<True Statment> if <Conditional Expression> else <False Statement>
Run Code Online (Sandbox Code Playgroud)
例如
True if sum([a,b]) % 10 == 0 else False
Run Code Online (Sandbox Code Playgroud)
我还建议使用plus运算符吗?
True if (a+b) % 10 == 0 else False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29568 次 |
| 最近记录: |