Python - Ayuda para condicional ( nivel novato)

 
Vista:

Ayuda para condicional ( nivel novato)

Publicado por Josemi (2 intervenciones) el 12/05/2019 23:32:19
Buenas a todos:
Soy novato y no consigo implementar una unción condicional. A ver si me podeis echar un cable

Quiero sumar a cada una nota la siguiente, y eso lo consigo con lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
escala = [ 'do' , 're' , 'mi' , 'fa' , 'sol' , 'la' , 'si']
 
def getNextNote(nota,intervalo):
     i=escala.index(nota)
     return escala[i+intervalo-1]
 
print getNextNote('do',2)
print getNextNote('re',2)
print getNextNote('mi',2)
print getNextNote('fa',2)
print getNextNote('sol',2)
print getNextNote('la',2)

El problema viene al definir la condicional , que me da error, no sé qué está mal, y he probado varias cosas.Sería que el último elemento al ser el último quiero que salga el texto " es la última". Lo tengo así:
1
escala = [ 'do' , 're' , 'mi' , 'fa' , 'sol' , 'la' , 'si']


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
escala = [ 'do' , 're' , 'mi' , 'fa' , 'sol' , 'la' , 'si']
 
 
def getNextNote(nota,intervalo):
     i=escala.index(nota)
     return escala[i+intervalo-1]
 
if escala=='si'
     then print 'ultima nota'
print getNextNote('do',2)
print getNextNote('re',2)
print getNextNote('mi',2)
print getNextNote('fa',2)
print getNextNote('sol',2)
print getNextNote('la',2)
print getNextNote('si',2)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 2.732
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ayuda para condicional ( nivel novato)

Publicado por joel (622 intervenciones) el 13/05/2019 08:24:27
Hola Josemi, el condicional, lo tienes que poner dentro de la función... pero mas que comprobar si es "si", yo comprobaria que no fuera la ultima posición del array... algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
escala = [ 'do' , 're' , 'mi' , 'fa' , 'sol' , 'la' , 'si']
 
def getNextNote(nota):
     i=escala.index(nota)
     if i==len(escala)-1:
         return "ultima nota"
     return escala[i+1]
 
print getNextNote('do')
print getNextNote('re')
print getNextNote('mi')
print getNextNote('fa')
print getNextNote('sol')
print getNextNote('la')
print getNextNote('si')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda para condicional ( nivel novato)

Publicado por Josemi (2 intervenciones) el 14/05/2019 02:08:30
Muchísimas gracias por tu ayuda , Joel. Es complicado entender el lenguaje de programación. Si no te importa te molestaré de nuevo con más dudas. Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda novatos

Publicado por Floyd (1 intervención) el 16/05/2019 23:39:32
https://ayudacodigospython.wixsite.com/codigos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar