我想在底部添加“ TOTAL PLAYING TIME:00:0:0”,我尝试的命令已在下面更新:
totalmins = 0
totalsecs = 0
mins, secs = map(int, record[3].split(":"))
totalmins = totalmins + (totalsecs // 60)
totalsecs = totalsecs % 60
显示缩进错误的错误
答案 0 :(得分:0)
因此,如果我理解正确,那么您想解决两个问题。首先是如何创建标题,其次是如何使标题的顶部和底部水平线与表格大小对齐。试试下面的代码。请注意使用ljust将字符串填充到给定列的最大长度:
hl_len = max_track + max_artist + max_album + 4
print ('-' * hl_len)
for idx, i in enumerate(data):
print("|", i[0].ljust(max_track),
"|", i[1].ljust(max_artist),
"|", i[2].ljust(max_album),
"|", i[3],"|")
if idx == 0:
print ("-" * hl_len)
答案 1 :(得分:0)
如果您只想大写“ TRACK”,“ ALBUM”,“ ARTIST”和“ TIME”两个字,则可以分别打印出标题行,如下所示:
print("| TRACK", " " * (max_track - 5),
"| ARTIST", " " * (max_artist - 6),
"| ALBUM", " " * (max_album - 5),
"| TIME |")
然后,已经打印出标题,只需将for循环的第一行更改为以下内容,就可以跳过for循环中的第一项:
for i in data[1:]:
更新:
对于您的更新,totalmins
和totalsecs
都被初始化为零,然后稍后仅使用totalmins
和totalsecs
对其进行设置,而从不使用值mins
和secs
。我认为这不是您想要的。
我认为您正在尝试通过在循环中进行累加来收集总播放时间,然后在完成循环后以可读格式输出它。
如果是这样,最好同时显示小时数。因此,考虑创建一个存储秒数的所有变量(我将其称为totalSeconds
),然后计算hours
,minutes
和{{1 }}:
seconds