python if-else在重构后不工作

python if-else在重构后不工作,python,Python,如何重写此代码 我试过: def binary(val): return str(val) if val<=1 else binary(val>>1) + str(val&1) 但是它不起作用您缺少“return”,一个冒号“:”,“&1”。这不考虑压痕: if (val<=1) : return str(val) else binary(val>>1) + str(val) 您还需要在else块中添加return。此外,如果实际代码是这样的,请

如何重写此代码

我试过:

def binary(val):
return str(val) if val<=1 else binary(val>>1) + str(val&1)
但是它不起作用

您缺少“return”,一个冒号“:”,“&1”。这不考虑压痕:

if (val<=1) :
return str(val)
else 
binary(val>>1) + str(val)
您还需要在else块中添加return。此外,如果实际代码是这样的,请修复缩进。否则,会显示无效语法:
if val <= 1:
    return str(val)
else:
    return binary(val >> 1) + str(val & 1)