gpt4 book ai didi

python - 当两个变量之和大于或等于12时减去12

转载 作者:太空狗 更新时间:2023-10-30 02:42:07 27 4
gpt4 key购买 nike

我有音乐背景,所以我对将音乐集理论应用到 Python 脚本中很感兴趣。

基本上,音符的变量被分配给数字(C = 0,C sharp = 1 等)。然而,音乐组理论只适用于数字 11,因为 B = 11 而下一个 C 将再次 = 0。

我已经分配了一些变量,它们看起来像这样。

# pitch classes
Bs = C = 0
Cs = Db = 1
D = 2
Ds = Eb = 3
E = Fb = 4
F = Es = 5
Fs = Gb = 6
G = 7
Gs = Ab = 8
A = 9
As = Bb = 10
B = Cb = 11

# intervals
m2 = 1
mj2 = 2
m3 = 3
mj3 = 4
P4 = 5
T = 6
P5 = 7
m6 = 8
mj6 = 9
m7 = 10
mj7 = 11

我希望能够将音符和音程相加,例如 B 加一个完美的 5。这通常是 11 + 7 = 18,但我希望它等于 6(因为 6 = F sharp,而 B 和升 F 是完美的五分之一)。

我想我需要这样的东西,但我不知道如何实现它。

if answer >= 12:
answer - 12

有人有什么想法吗?有没有更好的方法来做到这一点?

最佳答案

有一个 modulo operator , % 正是这样做的(另见 here ):

print((11 + 7) % 12)

或更一般地说:

def add_wrap_overflow(x,y):
return (x+y) % 12

关于python - 当两个变量之和大于或等于12时减去12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37628300/

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