Python - ayuda con un trabajo para agregar nombres a la lista

 
Vista:

ayuda con un trabajo para agregar nombres a la lista

Publicado por Carrie (8 intervenciones) el 20/12/2021 23:34:07
Hola, necesito crear una función que reciba por parámetros una tupla de tuplas y una lista de cadenas de caracteres. La tupla estará compuesta por tuplas de dos componentes, cada una de la forma (‘nombre’, ‘apellido’), y la lista, estará compuesta por cadenas de caracteres que representan nombres. Los “nombres” (tomados de cada tupla) que no estén en la lista, deberán ser agregados, por la función, en la lista. La función debe devolver un número que representa la cantidad de incorporaciones que se realizaron sobre la lista y no debe mostrar salidas en pantalla.
Yo lo hice así, pero no sé que me falta para que esté bien, si pudieran decirme cuál es el error de mi función muchas gracias, también intente hacer un contador con inserciones para contar las ocurrencias dentro de la funcion pero no se si está bien

def agrega_nombres(tupla_personas, lista_personas):
Inserciones = 0
tup_tuplas = (("Rodrigo","Zapata"),("Enrique","Palavecino"),("Sofia","Corbalan"),("Pablo","Sanchez"))
lis_cad = ["Enrique", "Carlos","Sofia","Laura"]

x = agrega_nombres(tup_tuplas, lis_cad)
print("Inserciones", x)
print(lis_cad)

if Enrique in lista:
print("Enrique está en la lista")

if Enrique not in lista:
print("Enrique no está en la lista")
Carlos.append()
Inserciones+1
if Carlos in lista:
print("Carlos está en la lista")
if Jorge not in lista:
print("Carlos no está en la lista")
Carlos.append()
Inserciones+1
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

ayuda con un trabajo para agregar nombres a la lista

Publicado por tincopasan (1082 intervenciones) el 21/12/2021 02:45:21
1)la lista y la tupla que le pases a la función deben estar fuera de ella
2)"La función debe devolver un número que representa la cantidad de incorporaciones que se realizaron sobre la lista y no debe mostrar salidas en pantalla." por lo tanto no hay que usar ningún print
3) en tu código estás sabiendo y comparando valores que conoces, se supone que no es así, además si la tupla tuviese 100 nombres te cansas de hacer comparaciones.
4)que bajo nivel para un ejercicio tan simple, te conviene esforzarte un poco más
5)
1
2
3
4
5
6
7
8
9
10
11
12
#-*- coding: utf  -8 -*-
tup_tuplas = (("Rodrigo","Zapata"),("Enrique","Palavecino"),("Sofia","Corbalan"),("Pablo","Sanchez"))
lis_cad = ["Enrique", "Carlos","Sofia","Laura"]
 
def agrega_nombres(tupla_personas, lista_personas):
    antes = len(lista_personas)
    for nombre in tupla_personas:
        if nombre[0] not in lista_personas:
                lis_cad.append(nombre[0])
    return len(lis_cad) - antes
 
print(agrega_nombres(tup_tuplas,lis_cad)) #esto solo si querés mostrar el resultado
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