Borrar de la lista
Publicado por Emilio (5 intervenciones) el 31/07/2020 19:25:21
En este código tengo problemas en la última función, no encuentro la manera de borrar una canción de la base de datos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Ejercicio400
class MP3:
def __init__(self, intérprete, título, duración_en_segundos, estilo_musical):
self.intérprete = intérprete
self.título = título
self.duración_en_segundos = duración_en_segundos
self.estilo_musical = estilo_musical
# Devuelve una cadena con el título e intérprete en una línea, formato resumido
def resumido(self):
print("Título: {0}, Intérprete: {1}".format(self.título, self.intérprete))
# Decuelve una cadena con todos los datos del archivo MP3, cada campo ocupa una línea
def __str__(self):
cadena = "Título: {0}\n".format(self.título)
cadena = cadena + "Intérprete: {0}\n".format(self.intérprete)
cadena = cadena + "Tiempo: {0}\n".format(self.duración_en_segundos)
cadena = cadena + "Estilo musical: {0}\n".format(self.estilo_musical)
return cadena
# Añadir datos de una canción
def nuevas_canciones():
título = input("Tíulo: ")
if título == "":
return None
else:
intérprete = input("Intérprete: ")
duración_en_segundos = input("Tiempo: ")
estilo_musical = input("Estilo musical: ")
return MP3(intérprete, título, duración_en_segundos, estilo_musical)
# Añadir canción a la base de datos
def lista_de_canciones():
while lista != "":
canción = nuevas_canciones()
if canción != None:
lista.append(canción)
else:
break
# Listar todas las canciones de un intérprete determinado en formato resumido
def intérpretes(lista):
cantante = input("Diga el intérprete: ")
for canción in lista:
if canción.intérprete == cantante:
canción.resumido()
# Listar todas las canciones de un estilo musical determinafo en formato resumido
def estilo(lista):
estilo_determinado = input("Diga el estilo musical: ")
for canción in lista:
if canción.estilo_musical == estilo_determinado:
canción.resumido()
# Listar todas las canciones en la base de datos en formato completo
def todas_las_canciones(lista):
for canción in lista:
print(canción)
# Borra canciones de la base de datos según el título y el intérprete dados por el usuario
def borrado(lista):
título_canción = input("Ponga el título de la canción para borrar: ")
intérprete_canción = input("Ponga el intérprete de la canción para borrar: ")
i = 0
while i < len(lista):
canción = lista[i]
if canción.título == título_canción and canción.intérprete == intérprete_canción:
del canción[i]
else:
i += 1
lista = []
lista_de_canciones()
intérpretes(lista)
estilo(lista)
todas_las_canciones(lista)
borrado(lista)
Valora esta pregunta


0