为什么if语句保留在此代码中的表达式之后:
def checkio(number):
"""
Convert into the string and iterate.
"""
res = 1
for d in str(number):
res *= int(d) if int(d) else 1
return res
最佳答案
这是一个三元运算符(或conditional expression),这是一种非常不理想的编写方式:
di = int(d)
if di:
res *= di
无需将两次转换为整数,或者如果
di
为0,则不需要乘以1。在这种情况下,使用三元表达式不是一个好的选择。关于python - 为什么如果语句在表达式之后保留,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59146065/