用 f-string 的右对齐宽度 8 格式化三个整数,再以空格分隔输出。
OJ: noi_openjudge
题目 ID: ch0101-03
难度:入门
标签:输出python
日期: 2026-07-30 23:01
题意
读入三个整数。每个整数都要在至少宽 8 个字符的位置中右对齐,相邻两个位置之间再输出一个空格。
如果整数本身已经超过 8 个字符,宽度只是最小宽度,不能截断它。
思路
Python 的格式说明 :>8 表示右对齐、最小宽度为 8。因此 f"{number:>8}" 就对应 C++ 的 setw(8)。
三个格式化后的字符串交给 print 并用默认分隔符输出,默认的一个空格正好是题目要求的字段间空格。生成器逐个产生格式化结果,不必先建立列表。
代码
Python代码
python
numbers = map(int, input().split())
print(*(f"{number:>8}" for number in numbers))C++代码
这里保留原有的 C++ 参考实现。
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<setw(8)<<a<<" "<<setw(8)<<b<<" "<<setw(8)<<c<<endl;
return 0;
}复杂度
只处理三个固定整数,时间复杂度为
总结
记住 f"{x:>8}":> 表示右对齐,8 表示最小字段宽度。格式控制不会截断较长的整数。