如何使用Python Formatted String Literals实现右侧缩进?
实现右侧缩进的格式化字符串方案
其实你要的效果是让数字左对齐,并在数字右侧填充空格,直到达到指定宽度后再输出9——这正是格式化字符串里左对齐格式符的作用,之前的问题出在你指定的宽度不够,以及对格式符的理解上,我来给你拆解一下:
问题原因
你之前用的:-10和:10本质是一样的:-是显式指定左对齐(默认就是左对齐,所以写不写效果相同),但当你的数字长度超过了指定的10时,Python会优先保证内容完整显示,忽略宽度限制,所以数字后面直接跟了9,没有空格。
正确实现方式
要实现你要的“右侧缩进”(数字左对齐,右侧补空格后加9),你需要显式指定左对齐格式,并确保设置的宽度大于等于最长数字的长度。用Formatted String Literals(f-string)的写法如下:
# 定义测试数字 num1 = 12345 num2 = 8973955 # 使用左对齐格式符:<width>,这里设置宽度为10(足够容纳最长的数字8973955,它有7位) print(f"{num1:<10}9") print(f"{num2:<10}9")
输出结果
12345 9 8973955 9
细节说明
:<10表示将内容左对齐,总占用宽度为10个字符:如果内容长度小于10,右侧自动填充空格;如果内容长度等于或超过10,就完整显示内容(不会截断)。- 如果你的数字可能更长,比如有10位以上,只需要把
10改成更大的数值(比如15)即可,确保宽度足够容纳最长的数字,这样就能保证数字右侧有空格,再跟9。
内容的提问来源于stack exchange,提问作者Hash
相关产品推荐
相关产品推荐

