Python - AYUDA URGENTE con funcion para agregar y recortar NOMBRES DE LISTA POR PARAMETRO

 
Vista:

AYUDA URGENTE con funcion para agregar y recortar NOMBRES DE LISTA POR PARAMETRO

Publicado por Carrie (8 intervenciones) el 22/12/2021 04:54:28
Hola, necesito ayuda con una funcion que me agregue nombres y otra que recorte los nombres y al correr esa funcion en el main me recorte los nombres del main, es una funcion que recibe por parámetro una lista de cadenas de caracteres. Deberá recortar cada cadena de la lista a la longitud de la última cadena de caracteres de dicha lista el problema es que no me recorta los nombres, tiene que ser como en el main por ejemplo ['Ramiro', 'Alexa', 'Ana'] al recortarlos queda ['Ram', 'Ale', 'Ana'] o ['Alejandra', 'Pedro'] deberia quedar ['Aleja', 'Pedro'] pero cuando lo corro el main no me recorta nada y queria saber que hice mal, me deberia quedar como en el MAIN


yo lo hice asi


tupla_personas = (("Rodrigo","Zapata"),("Enrique","Palavecino"),("Sofia","Corbalan"),("Pablo","Sanchez"))
lista_nombres = ["Enrique", "Carlos","Sofia","Laura"]

def agrega_nombres(tupla_personas, lista_nombres):
Inserciones = 0
antes = len(lista_nombres)
for nombre in tupla_personas:
if nombre[0] not in lista_nombres:
lista_nombres.append(nombre[0])
Inserciones = Inserciones+1
return len(lista_nombres) - antes

print(agrega_nombres(tupla_personas,lista_nombres))


def recorta_nombres(lista_nombres):
my_str = lista_nombres
lista_nombres = my_str
size = len(lista_nombres)
final_str = lista_nombres[:size - 3]

return final_str

final_str = recorta_nombres(lista_nombres)
nombres_recortados = agrega_nombres(tupla_personas, lista_nombres)
print(nombres_recortados)



def main():
"""Prueba las funciones definidas con valores fijos. Invoca a agrega_nombres y recorta_nombres"""
print ("\n\nCaso 1")
lista_nombres = ["Ramiro", "Alexa"]
tupla_personas = (("Ana","Suarez"),("Ramiro", "Lin"))
print ("Datos iniciales. Lista de nombres:", lista_nombres, ", y tupla de personas:", tupla_personas)
print ("\nValores esperados. \nSe agregaron 1 nombres y la lista quedó así: ['Ramiro', 'Alexa', 'Ana']")
print ("Se recortaron los nombres y ahora la lista quedó así ['Ram', 'Ale', 'Ana']")
print ("\nTu ejecución:")
print ("Se agregaron", agrega_nombres(tupla_personas, lista_nombres), "nombres y la lista quedó así: ", lista_nombres)
recorta_nombres(lista_nombres)
print ("Se recortaron los nombres y ahora la lista quedó así", lista_nombres)

print ("\n\nCaso 2")
lista_nombres = []
tupla_personas = (("Alejandra","Suarez"),("Pedro", "Rubini"))
print ("Datos iniciales. Lista de nombres:", lista_nombres, ", y tupla de personas:", tupla_personas)
print ("\nValores esperados. \nSe agregaron 2 nombres y la lista quedó así: ['Alejandra', 'Pedro']")
print ("Se recortaron los nombres y ahora la lista quedó así ['Aleja', 'Pedro']")
print ("\nTu ejecución:")
print ("Se agregaron", agrega_nombres(tupla_personas, lista_nombres), "nombres y la lista quedó así: ", lista_nombres)
recorta_nombres(lista_nombres)
print ("Se recortaron los nombres y ahora la lista quedó así", lista_nombres)

print ("\n\nCaso 3")
lista_nombres = ['Margarita']
tupla_personas = ()
print ("Datos iniciales. Lista de nombres:", lista_nombres, ", y tupla de personas:", tupla_personas)
print ("\nValores esperados. \nSe agregaron 0 nombres y la lista quedó así: ['Margarita']")
print ("Se recortaron los nombres y ahora la lista quedó así ['Margarita']")
print ("\nTu ejecución:")
print ("Se agregaron", agrega_nombres(tupla_personas, lista_nombres), "nombres y la lista quedó así: ", lista_nombres)
recorta_nombres(lista_nombres)
print ("Se recortaron los nombres y ahora la lista quedó así", lista_nombres)
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