输入一个十进制数N,将它转换成R进制数后再输出。多组数据,请处理到文件结束,每组数据占一行,包含两个整数N和R
时间: 2023-05-20 10:07:16 浏览: 60
请看下面的代码:
```python
while True:
try:
n, r = map(int, input().split())
res = ''
if n < 0: # 处理负数的情况
n = -n
neg = True
else:
neg = False
while n > 0:
res = str(n % r) + res
n //= r
if neg: # 如果输入的是负数
print('-', end='')
print(res)
except:
break
```
解释一下代码: 首先,我们使用 while 循环来不断读入多组数据,并且使用 try-except 来处理读到文件结束的情况。
然后,我们通过 input() 函数读入每一行的数据,使用 map 函数将其转换成两个整数:n 和 r。
接下来,我们需要将 n 转换成 r 进制数。为了方便,我们可以使用一个字符串 res 来保存最终的结果。每次取 n 对 r 取模,将其转换成字符并加到 res 的左边,然后将 n 除以 r。当 n=0 的时候,我们就得到了最终的结果。
最后,我们需要注意处理负数的情况。如果输入的 n 是负数,我们可以先将其变成正数,然后标记一下结果是负数,最后输出的时候在前面加上一个负号。
关于其他类型的问题,我会尽力回答。