2016-10-21 8 views
0

私はlamba関数を使って10進数を2進数に変換します。結果は2進数ではありません。Python Lamba関数の負の数値

マイコード:

num1 = int(raw_input("Enter first bumber")) 

if num1 < 0: 
def tobin(x, count = 8): 
    return "".join(map(lambda y:str((x>>y)&1), range(count-1, -1, -1))) 
    num1 = tobin 
print num1 

結果:

Enter first bumber -5 
<function tobin at 0x1f9c260> 

期待される結果は、1011

ありがとうなければなりません。

答えて

2
num1 = int(raw_input("Enter first bumber:\t")) 

def tobin(x, count=4): 
    return "".join(map(lambda y: str((x >> y) & 1), range(count - 1, -1, -1))) 
if num1 < 0: 
    num1 = tobin(num1) 
print num1 

結果:

Enter first bumber: -5 
1011