Я программирую, используя python3. Я искал программу, которая могла бы генерировать каждую комбинацию из 16 аккордов (для музыки c сочинения), выбирая между аккордом C или аккордом G. Мне удалось использовать этот код:
chords = ['C', 'G']
progressions = []
for chord1 in chords:
for chord2 in chords:
for chord3 in chords:
for chord4 in chords:
for chord5 in chords:
for chord6 in chords:
for chord7 in chords:
for chord8 in chords:
for chord9 in chords:
for chord10 in chords:
for chord11 in chords:
for chord12 in chords:
for chord13 in chords:
for chord14 in chords:
for chord15 in chords:
for chord16 in chords:
progressions.append([chord1, chord2, chord3, chord4,
chord5, chord6, chord7, chord8,
chord9, chord10, chord11, chord12,
chord13, chord14, chord15, chord16]
)
print(progressions)
print(f'{len(progressions)} progressions generated.')
Вот что я получаю в качестве вывода (это именно тот результат, который мне нужен): [... ['G', 'G', 'G' , 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'C', 'G', 'G'. , 'G'], ['G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G' , 'G', 'G', 'C', 'C', 'C'], ['G', 'G', 'G', 'G', 'G', ' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' C ',' C ',' G '], [' » G »,« G »,« G »,« G »,« G »,« G »,« G »,« G »,« G »,« G »,« G »,« G »,« G » , 'C', 'G', 'C'], ['G', 'G', 'G', 'G', 'G', 'G', 'G', 'G'. , 'G', 'G', 'G', 'G', 'G', 'C', 'G', 'G'], ['G', 'G', 'G', ' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' C ',' ' C '], [' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G '. , 'G', 'G', 'G', 'C', 'G'], ['G', 'G', 'G', 'G', 'G', 'G', ' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' G ',' C '], [' G ',' G '». , 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', 'G', ' G ',' G ']] Сгенерировано 65536 прогрессий.
Очевидно, что этот код не является коротко и мило, насколько это могло быть. Вот почему я хотел бы определить функцию, которая генерирует циклы. Чтобы сделать его еще лучше, я подумал, что было бы лучше добавить в качестве параметра для функции число l oop, которое она должна создать, чтобы он выбирался каждый раз при выполнении программы.
Заранее спасибо
Lu c