Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- N = 7
- PITCHES = ["до", "ре", "ми", "фа", "соль", "ля", "си"]
- LONG_PITCHES = ["до-о", "ре-э", "ми-и", "фа-а", "со-оль", "ля-а", "си-и"]
- INTERVALS = ["прима", "секунда", "терция", "кварта", "квинта", "секста", "септима"]
- class Note:
- def long_note(self, note):
- self.note = LONG_PITCHES[PITCHES.index(self.note)]
- return self.note
- def __str__(self):
- if self.is_long is True:
- self.note = self.long_note(self.note)
- def __init__(self, note=None, is_long=False):
- self.note = note
- self.is_long = is_long
- def __eq__(self, other):
- if PITCHES.index(self.note) == PITCHES.index(other.note):
- return True
- else:
- return False
- def __lt__(self, other):
- if PITCHES.index(self.note) < PITCHES.index(other.note):
- return True
- else:
- return False
- def __rt__(self, other):
- if PITCHES.index(self.note) > PITCHES.index(other.note):
- return True
- else:
- return False
- def __le__(self, other):
- if PITCHES.index(self.note) <= PITCHES.index(other.note):
- return True
- else:
- return False
- def __re__(self, other):
- if PITCHES.index(self.note) >= PITCHES.index(other.note):
- return True
- else:
- return False
- def __rlshift__(self, shift):
- self.shift = shift
- self.index = PITCHES.index(self.note)
- self.note = PITCHES.index(self.index - shift % 7)
- return self.note
- def __rrshift__(self, shift):
- self.shift = shift
- self.index = PITCHES.index(self.note)
- self.note = PITCHES.index(self.index + shift % 7)
- return self.note
- fa2 = Note("фа")
- la = Note("ля", True)
- print(la > 1)
- print(la >> 2)
- x = fa2 << 4
- print(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement