mit diesem Programm werde ich keinen Weitpinkelwettbewerb dieser Welt gewinnen, aber ein kurzes Feedback bezüglich "Bad Practice" wäre echt nett!
Im Prinzip möchte ich ein Programm schreiben, welches bestimmte Tonleitern ausspuckt.
Unterteilt wird die 12-Ton Skala in Dur und Moll Tönen.
Besonders unsicher bin ich mir beim leeren Array
Code: Alles auswählen
scale=['','','','','','','']
Natürlich gibt es noch ein paar mehr Tonleitern, aber ich denke diese eine macht das Prinzip sehr deutlich - die anderen sind schnell und äquivalent zu dieser in entsprechenden Funktionen untergebracht.
Code: Alles auswählen
vol_dur=['C','C#','D','D#','E','F','F#','G','G#','A','A#','H']
vol_moll=['C','Db','D','Eb','E','F','Gb','G','Ab','A','b','H']
def dur_ionisch(vol_dur,gt): #gt: Grundton (Startpunkt der Tonleiter)
i=0
scale=['','','','','','',''] #(noch leerer) Array der Tonleiter
while i<7:
scale[i]=vol_dur[gt]
i=i+1
if i!=3: #Bis auf den dritten und letzten Ton in der Tonleiter geht die ionische Tonleiter immer in
#Ganztonschritten. Der Letzte Ton ist aber nicht wichtig, da die Tonleiter dort ohnehin zu Ende ist
gt=gt+2
if gt==12:
gt=0
if gt==13:
gt=1
else:
gt=gt+1
if gt==12:
gt=0
if gt==13:
gt=1
return scale
print dur_ionisch(vol_dur,6)