在 python 中从用户那里获取二进制输入以进行按位运算
Taking a binary input from the user in python for bitwise operations
N,M=raw_input().split(' ')
N=int(N,2)
M=int(M,2)
print N|M
代码将初始输入转换为二进制,然后应用按位或。然而,我需要的是一种以二进制本身接收初始输入的方法。
如果输入是
111 101
给出的输出是7,我想要的输出是111|101
也就是111
.
只需将输出格式化回二进制即可:
print format(N|M, 'b')
这使用 format()
function to produce a binary string again; the 'b'
format 生成 base-2 二进制输出:
>>> format(7, 'b')
'111'
如果您需要保留原始输入 与输入的完全一样 ,则将 int()
调用的输出分配给新变量:
binary1, binary2 = raw_input().split(' ')
N = int(binary1, 2)
M = int(binary2, 2)
print '{}|{} makes {:b}'.format(binary1, binary2, N|M)
这里我使用了str.format()
method来产生一个输出字符串;可以在一个简单的模板框架内使用相同的格式化指令; N|M
的输出被插入到最后一个 {}
占位符中,它将值格式化为二进制表示形式。
N,M=raw_input().split(' ')
N=int(N,2)
M=int(M,2)
print N|M
代码将初始输入转换为二进制,然后应用按位或。然而,我需要的是一种以二进制本身接收初始输入的方法。
如果输入是
111 101
给出的输出是7,我想要的输出是111|101
也就是111
.
只需将输出格式化回二进制即可:
print format(N|M, 'b')
这使用 format()
function to produce a binary string again; the 'b'
format 生成 base-2 二进制输出:
>>> format(7, 'b')
'111'
如果您需要保留原始输入 与输入的完全一样 ,则将 int()
调用的输出分配给新变量:
binary1, binary2 = raw_input().split(' ')
N = int(binary1, 2)
M = int(binary2, 2)
print '{}|{} makes {:b}'.format(binary1, binary2, N|M)
这里我使用了str.format()
method来产生一个输出字符串;可以在一个简单的模板框架内使用相同的格式化指令; N|M
的输出被插入到最后一个 {}
占位符中,它将值格式化为二进制表示形式。