python进制转换模块化程序设计
时间: 2023-12-08 18:39:40 浏览: 96
python模块化编程
以下是一个Python进制转换的模块化程序设计:
```python
# 十进制转二进制和十六进制
def dec_to_bin_hex(x):
list1 = ['A', 'B', 'C', 'D', 'E', 'F']
p = ''
q = ''
while x > 0:
m = x % 2
x //= 2
p = str(m) + p
while y > 0:
n = y % 16
i = y % 16
y = y // 16
while i >= 16:
i = y // 16
else:
if i < 16 and i >= 10:
n = list1[i - 10]
q = str(n) + q
return p, q
# 二进制转十进制和十六进制
def bin_to_dec_hex(num):
list1 = ['A', 'B', 'C', 'D', 'E', 'F']
q = ''
lenth = len(num)
sum2 = 0
for i in range(lenth):
n = num[-i - 1]
if n != '0':
sum1 = 2 ** i
sum2 = sum1 + sum2
y = sum2
while y > 0:
n = y % 16
i = y % 16
y = y // 16
while i >= 16:
i = y // 16
else:
if i < 16 and i >= 10:
n = list1[i - 10]
q = str(n) + q
return sum2, q
# 主程序
while True:
choice = input('请选择转换类型:1.十进制转二进制和十六进制 2.二进制转十进制和十六进制')
if choice == '1':
x = int(input('请输入一个十进制数:'))
p, q = dec_to_bin_hex(x)
print('该数的二进制为:', p)
print('该数的十六进制为:', q)
elif choice == '2':
num = input('请输入一个二进制数:')
sum2, q = bin_to_dec_hex(num)
print('该数的十进制为:', sum2)
print('该数的十六进制为:', q)
else:
print('输入错误,请重新输入!')
```
阅读全文