python中二进制转8进制_Python-八进制、二进制互转换

Python-八进制转二进制

input_str = input('请输入待转八进制数:')

list_num = []

list_octal = []

lists = []

t = 0

def octal_binary():

"""用于八进制转二进制"""

for i in input_str:

list_num.append(i)

# print(list_num)

list_deal = [int(k) for k in list_num]

# print(list_deal)

list_num.clear()

for j in list_deal:

while True:

if j != 1:

n = str(j % 2)

list_octal.append(n)

j //= 2

elif j == 1:

list_octal.append('1')

list_octal.reverse()

if len(list_octal) % 3 == 0:

pass

elif len(list_octal) % 3 == 1:

list_octal.insert(0, '0')

list_octal.insert(1, '0')

elif len(list_octal) % 3 == 2:

list_octal.insert(0, '0')

lists.extend(list_octal)

list_octal.clear()

break

list_octal.reverse()

num_str = int(''.join(lists))

print("该八进制数转化为二进制数为:%d" % num_str)

Python-二进制转八进制

input_str = input('请输入待转二进制数:')

initial_list = []

once_deal_list = []

second_deal_list = []

l_int = len(input_str)

y = 0

r = 2

k = 0

def cut_str():

"""字符串切片"""

i = 0

while i < l_int:

once_deal_list.append(initial_list[i:(i + 3)])

i += 3

def repair_str():

"""不足3位进行补零"""

for t in input_str:

initial_list.append(int(t))

if input_str.isdecimal():

print('数字验证通过')

if l_int % 3 == 0:

cut_str()

elif l_int % 3 == 2:

initial_list.insert(0, 0)

cut_str()

else:

initial_list.insert(0, 0)

initial_list.insert(1, 0)

cut_str()

else:

print('验证失败请重新输入')

return

def octonary():

"""转换为八进制"""

repair_str()

global k

global r

for g in once_deal_list:

for j in g:

k += int(j) * 2 ** r

r -= 1

second_deal_list.append(k)

r = 2

k = 0

# print('转换成的八进制数为:', end='')

# for n in second_deal_list:

# print(n, end='')

# print

end_list = [str(h) for h in second_deal_list]

end_num = int(''.join(end_list))

print('转换成的八进制数为:%d' % end_num)

octonary()

本文地址:https://blog.csdn.net/YIGAOYU/article/details/110226748

希望与广大网友互动??

点此进行留言吧!

你可能感兴趣的:(python中二进制转8进制)