回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我怎样才能使我的程序更有效率?现在它充满了if语句。你知道吗</p>
<pre><code>import copy
def hexadecimal(a):
z = a.replace('0b','')
y = z.rjust(8,'0')
list1 = list(y)
newlist = []
for i in range(1,5):
nig = list1.pop(0)
newlist.append(nig)
if newlist == ['0','0','0','0']:
valuenew = ''
if newlist == ['0','0','0','1']:
valuenew = '1'
if newlist == ['0','0','1','0']:
valuenew = '2'
if newlist == ['0','1','0','0']:
valuenew = '4'
if newlist == ['1','0','0','0']:
valuenew = '8'
if newlist == ['0','0','1','1']:
valuenew = '3'
if newlist == ['0','1','1','1']:
valuenew = '7'
if newlist == ['0','1','0','1']:
valuenew = '5'
if newlist == ['0','1','1','0']:
valuenew = '6'
if newlist == ['1','0','0','1']:
valuenew = '9'
if newlist == ['1','0','1','0']:
valuenew = 'A'
if newlist == ['1','0','1','1']:
valuenew = 'B'
if newlist == ['1','1','0','0']:
valuenew = 'C'
if newlist == ['1','1','0','1']:
valuenew = 'D'
if newlist == ['1','1','1','0']:
valuenew = 'E'
if newlist == ['1','1','1','1']:
valuenew = 'F'
if list1 == ['0','0','0','0']:
valuenew1 = ''
if list1 == ['0','0','0','1']:
valuenew1 = '1'
if list1 == ['0','0','1','0']:
valuenew1 = '2'
if list1 == ['0','1','0','0']:
valuenew1 = '4'
if list1 == ['1','0','0','0']:
valuenew1 = '8'
if list1 == ['0','0','1','1']:
valuenew1 = '3'
if list1 == ['0','1','1','1']:
valuenew1 = '7'
if list1 == ['0','1','0','1']:
valuenew1 = '5'
if list1 == ['0','1','1','0']:
valuenew1 = '6'
if list1 == ['1','0','0','1']:
valuenew1 = '9'
if list1 == ['1','0','1','0']:
valuenew1 = 'A'
if list1 == ['1','0','1','1']:
valuenew1 = 'B'
if list1 == ['1','1','0','0']:
valuenew1 = 'C'
if list1 == ['1','1','0','1']:
valuenew1 = 'D'
if list1 == ['1','1','1','0']:
valuenew1 = 'E'
if list1 == ['1','1','1','1']:
valuenew1 = 'F'
print(valuenew + valuenew1)
a = str(bin(int(input('enter a number'))))
hexadecimal(a)
</code></pre>
<p>该程序仅用于将二进制文件转换为8位</p>