gpt4 book ai didi

Python:将值列表拆分为两个值列表。列表的总和应尽可能相等

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:13:59 24 4
gpt4 key购买 nike

<分区>

所以,我是 python 新手...感谢您的建议。

我是一名黑胶唱片母带工程师,我经常需要重新排列歌曲顺序,以尽可能降低黑胶唱片每一侧的运行时间(出于质量原因)。通常,我是手工完成的 - 反复试验。

现在,我正在学习 python 几个星期,我认为用一个小脚本解决这个问题是正确的。

所以我有一个成对列表(Songnumber,Length)。如何计算最接近专辑一半总播放时间的两个歌曲列表?

谢谢!

编辑01:所以这就是我在 Heath 的帮助下设法编写的代码。它似乎有效:)

from itertools import combinations

song_lengths = [3.20, 2.40, 6.34, 1.20, 3.30, 4.12]

total_time = sum(song_lengths)
print("Totaltime: " + str(total_time))

half_time = total_time / 2
print("Halftime: " + str(half_time))

diff_time = half_time

for n in range(len(song_lengths)):

for first_half in combinations(song_lengths, n):
if abs(half_time - sum(first_half)) < diff_time:
diff_time = half_time - sum(first_half)
perfect_half = first_half

print("The perfect combination is " + str(perfect_half) + " with a total playing time of " + str(sum(perfect_half)))

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com