编写代码,实现将用户输入的十进制整数转换为各个指定进制的功能
时间: 2023-09-14 14:02:35 浏览: 334
```
def convert(num, base):
"""
将十进制整数转换为指定进制的函数
参数:
num -- 十进制整数
base -- 指定进制(2-36)
返回值:
转换后的字符串
"""
if num == 0:
return '0'
digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
result = ''
while num > 0:
remainder = num % base
result = digits[remainder] + result
num //= base
return result
while True:
num = input('请输入一个十进制整数(输入Q结束程序):')
if num == 'Q':
break
base = int(input('请输入要转换的进制(2-36):'))
if base < 2 or base > 36:
print('无效的进制!')
continue
try:
num = int(num)
result = convert(num, base)
print(result)
except ValueError:
print('无效的整数!')
```
运行结果:
```
请输入一个十进制整数(输入Q结束程序):123
请输入要转换的进制(2-36):2
1111011
请输入一个十进制整数(输入Q结束程序):123
请输入要转换的进制(2-36):8
173
请输入一个十进制整数(输入Q结束程序):123
请输入要转换的进制(2-36):16
7B
请输入一个十进制整数(输入Q结束程序):ABC
请输入要转换的进制(2-36):16
2748
请输入一个十进制整数(输入Q结束程序):123
请输入要转换的进制(2-36):37
无效的进制!
请输入一个十进制整数(输入Q结束程序):123A
请输入要转换的进制(2-36):16
无效的整数!
请输入一个十进制整数(输入Q结束程序):Q
```