我需要一些帮助转换:
反过来使用Python而不使用函数,例如binascii
我知道一点Python,我对数组有所了解。只是无法理解这一点。
答案 0 :(得分:6)
嗯,有内置的转换函数如bin或hex或int,我不知道这会如何影响你的“不使用函数”。您可以检查以下代码。
# Convert decimal to binary
>>> bin(10)
'0b1010'
>>> bin(10)[2:]
'1010'
>>> bin(10)[2:].zfill(8)
'00001010'
# Convert binary to decimal
>>> int('00001010',2)
10
# Convert decimal to hexadecimal
>>> hex(123)
'0x7b'
>>> hex(123)[2:]
'7b'
>>> hex(123)[2:].zfill(8)
'0000007b'
# Convert hexadecimal to decimal
>>> int('0000007b', 16)
123
# Convert binary to hexadecimal
>>> hex(int('1010', 2))
'0xa'
# Convert hexadecimal to binary
>>> bin(int('A', 16))
'0b1010'
编辑:
示例算法..
def dec2bin(num):
if num == 0: return '0'
bin_str = ''
while num > 0:
bin_str = str(num % 2) + bin_str
num = num / 2
return bin_str
答案 1 :(得分:0)
无功能更新:
>>> for c,i in enumerate(st):
... a+=i
... if (c+1)%4==0:
... print MORSECODEMAP[a]
... a=''
答案 2 :(得分:-1)
使用base 2将字符串转换为int,然后转换为hex
>>> hex(int('010110', 2))
>>> '0x16'
>>> hex(int('0000010010001101', 2))
'0x48d'
没有功能:
101110101101
例如,要将101110101101转换为十六进制,请将其拆分为四个:
1011 1010 1101
B A D
现在将每个组映射到其莫尔斯代码..(如下)
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F