arrays - 请帮我格式化同一行的字符串
问题描述
我遇到了连续格式化字符串的问题。
这就是我现在所拥有的。
print(line1)
print("%20s"%"",end="")
for i in range(6):
print("%-12.2f" %avg[i], end="")
print("%-12.2f" %sum(avg))
print(line1)
print("%-10s"%"","%12s"%"Ranks",end="")
输出当前如下所示:
但我需要它看起来像这样:
我无法弄清楚如何在以下数字之前获得平均值和总计。
解决方案
在您的循环中,您打印 avg[i] 值
avg = [1154.20, 1205.50, 1213.10, 1244.90, 1207.10, 1180.70 ]
目前,您的代码打印出类似于以下内容的内容:
如屏幕截图所示,在该文本行的开头打印“总计”
您可以尝试在循环之外打印文本,实际上就在它之前,通常这将需要一个新的文本行,这是您不想要的,这是避免它的简单方法 - Python New Line and How to没有换行符/freecodecamp 的 Python 打印。
Python 中的换行符是\n。它用于指示一行文本的结束。您可以打印字符串而无需使用 end = 添加新行,这是用于分隔行的字符。
我将变量line1和avg添加到您的代码中,以便您可以运行和测试它 - 如此处所示,我还添加了行print("Grand Totals", end='');
line1 = "==========================================================================================="
avg = [1154.20, 1205.50, 1213.10, 1244.90, 1207.10, 1180.70 ]
print(line1)
print("Grand Totals", end='');
print("%20s"%"",end="")
for i in range(6):
print("" + "%-12.2f" %avg[i], end="")
print("%-12.2f" %sum(avg))
print(line1)
print("%-10s"%"","%12s"%"Ranks",end="")
我没有你的其余代码,但我的修改会打印出来
如果您希望文本标签和第一个数值靠得更近 - 您可以将此行更改为 10,而不是 20
print("%10s"%"",end="")
结果是:
希望对您有所帮助,并随时发布更多代码,我会看看。
推荐阅读
- spring-boot - 服务层与控制器层解耦的设计模式最佳实践 Spring boot
- python - 从 url 响应中读取带有 pandas 的 Excel 文件
- api - .net 核心将 null 转换为空字符串以响应 ConfigureServices
- javascript - 如何在 Adobe Acrobat PDF 中突出显示/复制多个文本元素
- python - 逻辑回归模型(二进制)交叉表错误 = 传递值的形状问题
- python - AttributeError:“函数”对象在尝试从函数访问变量时没有属性错误
- apache-kafka - Flink 和非键控窗口状态
- java - 在映射超类中处理 Hibernate 持久性
- javascript - Eclipse IDE v2020-12 (4.18.0) 坚持我的 javascript 文件之一是 HTML 文件,并将每次使用 && 标记为无效字符
- python - Visual Studio Code 中的 Python Quandl 输出