在python 3中,整数没有固定的大小,并且没有使用内部CPU表示来表示(它允许处理非常大的数字而没有麻烦).
所以最好的方法是
signbit = 1 if n < 0 else 0
Run Code Online (Sandbox Code Playgroud)
要么
signbit = int(n < 0)
Run Code Online (Sandbox Code Playgroud)
编辑:如果你不能使用<或>(这是可笑的,但也是如此)你可以使用这个事实,a-b如果a大于b,那么你可以做
abs(a-b) == a-b
Run Code Online (Sandbox Code Playgroud)
不使用<或>(至少在文本中,因为abs使用它你可以信任我)