如图,正常的进制转换没有问题,它说格式错误,但我数了确实是四个空格



看您的输出,与样例预期输出是不一样的,所以说“格式错误”。
比对您的输出和预期输出,发现您的第一行和后两行是错位的。可能原因:您的输出字符占位没有设置宽度,预期是设置了字符占位两个字符宽度。预期输出第一行字符间实际有5个空格。
“格式错误”


python代码(我仅会点python)
#!/sur/bin/nve python
# coding: utf-8
def main(n):
print('Decimal binary octal hexadecimal')
a = ' '*4
for i in range(1, n+1):
#print(f"{i}{a}{int(bin(i)[2:])}{a}{i}{a}{i}")
print(f"{i:<2}{a}{int(bin(i)[2:]):<2}{a}{i:<2}{a}{i:<2}") # 设置了字符占位宽度2,左对齐。
if __name__ == '__main__':
n = int(input(f"\n输入:"))
print("\n输出:")
main(n)