1、定义一个递归函数fun(n,r),实现将十进制数n转换成r(2<=r<=16)进制数,转换的结果为函数的返回值。(注意r>10之后的处理方法) 2、在主程序中调用测试该函数。python
时间: 2024-03-11 11:50:46 浏览: 48
1. 代码如下:
```python
def fun(n, r):
if n < r:
if n < 10:
return str(n)
else:
return chr(ord('A') + n - 10)
else:
if n % r < 10:
return fun(n // r, r) + str(n % r)
else:
return fun(n // r, r) + chr(ord('A') + n % r - 10)
```
2. 可以在主程序中调用该函数进行测试,例如:
```python
print(fun(123, 2)) # 输出 "1111011"
print(fun(123, 16)) # 输出 "7B"
```
第一个例子将 123 转换成二进制数,第二个例子将 123 转换成十六进制数。
阅读全文