python – Minha condicional está sendo ignorada


Meu código está ignorando meu if. Caso seja um acorde maior, por mais que eu passe para o input G# ou Gb, ele retorna como se eu tivesse passado apenas G, não faço ideia do porquê, alguém pode me ajudar?

notas = ('C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'A#', 'B')
notasbemol = ('C', 'Db', 'D', 'Eb', 'E', 'F', 'Gb', 'G', 'Ab', 'A', 'Bb', 'B')
escala = notas(:)

ac = str(input('Acorde desejado: '))

if 'b' in ac:
    escala = notasbemol(:)

if 'm' not in ac:  # se for um acorde maior
    if '#b' in ac(1):
        i = escala.index(ac(0:2))
    else:
        i = escala.index(ac(0))


    indices = (i,  (i + 4) % len(escala), (i + 7) % len(escala))
    triade = (escala(idx) for idx in indices)
    print(f'A nota fundamental é {triade(0)}, sua terça é {triade(1)} e sua quinta é {triade(2)}.', end='')