作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
<分区>
所以,我是 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)))
我是一名优秀的程序员,十分优秀!