Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
1.6 kB
0
Indexable
Never
class RhythmPattern:
    def __init__(self):
        self.kick = []
        self.snare = []
        self.hi_hats = []
        self.rims = []
        self.cymbal = []
        self.percussion = []

    def add_instrument(self, instrument, pattern):
        if instrument == 'kick':
            self.kick = pattern
        elif instrument == 'snare':
            self.snare = pattern
        elif instrument == 'hi_hats':
            self.hi_hats = pattern
        elif instrument == 'rims':
            self.rims = pattern
        elif instrument == 'cymbal':
            self.cymbal = pattern
        elif instrument == 'percussion':
            self.percussion = pattern
        else:
            print("Invalid instrument name")

    def display_pattern(self):
        print("Kick:", self.kick)
        print("Snare:", self.snare)
        print("Hi-Hats:", self.hi_hats)
        print("Rims:", self.rims)
        print("Cymbal:", self.cymbal)
        print("Percussion:", self.percussion)

def main():
    pattern = RhythmPattern()

    print("Rhythm Writing Program")
    print("Available instruments: kick, snare, hi_hats, rims, cymbal, percussion")
    print("Enter 'done' when finished\n")

    while True:
        instrument = input("Enter instrument name: ")
        if instrument == 'done':
            break

        pattern_str = input("Enter rhythm pattern (e.g., x-x-x-x): ")
        pattern_list = pattern_str.split('-')
        pattern.add_instrument(instrument, pattern_list)

    print("\nRhythm Pattern:")
    pattern.display_pattern()

if __name__ == "__main__":
    main()