|
发表于 2023-4-15 18:58:35
|
显示全部楼层
本楼为最佳答案
本帖最后由 歌者文明清理员 于 2023-4-15 19:03 编辑
这段代码实现了将输入的整数转换成七进制的字符串输出,并且对于一些特殊情况做了处理。但是可能存在以下问题:
在计算七进制的过程中,没有考虑到负数的情况。在遇到负数时,计算七进制的方法与正数是不同的。
下面是修正后的代码:
- n = int(input())
- if n == 0:
- print('0')
- elif n > 0:
- result = ''
- while n > 0:
- result = str(n % 7) + result
- n //= 7
- print(result)
- else:
- n = abs(n)
- result = '-'
- while n > 0:
- result = str(n % 7) + result
- n = (n - 1) // 7
- print(result)
复制代码 对于负数,我们先取绝对值,然后将其转换为正数时需要计算 (n - 1) // 7 而不是 n // 7,这是因为 -7 被转换成的七进制数应该是 '-10' 而不是 '-1'。 |
|