Musical problem using python | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Musical problem using python

Imagine we have a string quartet (first violin, second violin, viola and cello). The first violin can only play the notes E, A and D (5th, 10th, and 3rd notes if we take C as the first note). The second violin can only play G, G# and A# (8th, 9th and 11th notes), the viola can only play the B, C# and D# (12th, 2nd and 4th notes) and the cello can only play C, F and F# (First, 6th and 7th notes) If we think chords as the combination of one of those notes in each instrument sounding at the same time, How could I code in python to get all possible chords?

9th Apr 2019, 4:36 PM
Germán Chrystan
Germán Chrystan - avatar
4 Answers
+ 2
chords = [] for a in vf: for b in vs: for c in vl: for d in cl: chords.append((a, b, c, d))
14th Apr 2019, 4:25 PM
HonFu
HonFu - avatar
+ 4
Sad violins that can only play 3 notes. Interesting problem, though. :) Are you presenting this to us as a challenge? In that case, this is not the right place. Or do you have to solve this for yourself and need help? In that case we would need to see your attempt first.
9th Apr 2019, 4:53 PM
HonFu
HonFu - avatar
0
Im presenting it as both. Ive tried a lot of method to get this problem and Ive failed. I cant find any suficient answer online. The closest i got was with this import random vf=["Mi","La","Re"] vs=["Sol","Sol#","La#"] vl=["Si","Do#","Re#"] cl=["Do","Fa","Fa#"] def gen(): for i in range(81): vfc= vf[random.randint(0,2)] vsc= vs[random.randint(0,2)] vlc= vl[random.randint(0,2)] clc= cl[random.randint(0,2)] print([vfc,vsc,vlc,clc]) gen() but, this result doesnt give all the possible chords without repeating any single one
13th Apr 2019, 11:37 PM
Germán Chrystan
Germán Chrystan - avatar
- 1
J Cobb h n h j h bh bbhbx hv bhnbb jy bb nň2bbhc .v a X b y b .d b uh h hz DVD Casey
27th May 2019, 10:13 AM
Tim Weng
Tim Weng - avatar