Я родом из музыкального фона, так что я был заинтересован в реализации набора теории музыки в сценарий Python.вычитая 12, когда сумма двух переменных больше или равна 12
В основном переменные музыкальных нот присвоены номера (C = 0, С = 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 диез , и B и F sharp - идеальное 5-е место).
Я думаю, что мне нужно что-то вроде этого, но я понятия не имею, как ее реализовать.
if answer >= 12:
answer - 12
У кого-нибудь есть идеи? Есть ли лучший способ сделать это?
нафига это сейчас кажется настолько очевидным, спасибо так много. В любом случае я могу что-то написать, поэтому мне не нужно набирать «print ((x + z)% 12) для каждой операции? – AlexC
Я не совсем понимаю. Вы можете определить функцию, например. 'module_add (x, y)', который делает это для вас, но вы должны будете каждый раз вызывать эту функцию - см. обновленный ответ – DomTomCat
Хорошо, я, вероятно, немного из глубины, я тоже не совсем понимаю. Ваш первый ответ - именно то, что я искал, спасибо! – AlexC