Python - principiante - ejercicio de funciones

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

principiante - ejercicio de funciones

Publicado por GASTON (3 intervenciones) el 19/01/2021 00:45:48
Hola! estoy arrancando un curso de data science y tengo algunos ejercicios que no me salen, intenté de varias maneras. Podrán ayudarme por favor? Desde ya muchas gracias! Les adjunto un poco lo que hice:

Ejercicio 16: Repetidos

Escribí una función que tome una lista y devuelva True si hay dos números iguales, y False si son todos distintos

1
2
3
4
5
6
7
def repetidos(listado):
  lista = []
  for n in listado:
    if n in lista:
      return True
    else:
      return False

---------------------

Ejercicio 17: Primos

Escribí una función que reciba un número y devuelva True si es número primo, y False en caso contrario.

1
2
3
4
5
def primos(numero):
  if numero % numero == 0 and numero > 0:
    return True
 
    return False

---------------------

Ejercicio 18: Unicos

Escribí una función que reciba una lista y devuelva otra lista con los valores únicos de forma ordenada.

1
2
3
4
5
6
def lista_de_unicos(lista):
  newlist = []
  for i in newlist:
    if i in newlist:
      listado = newlist.sort()
      return listado

------

Ejercicio 19: Impares

Escribí una función que, dado un número, devuelva una lista con los los números impares comprendidos entre 0 y ese número. Como condición, la función se debe construir con una lista por comprensión.

1
2
def impares(numero):
 return [ x for x in range(0,numero+1) if x%2 != 0]
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: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Escribí una función que tome una lista y devuelva True si hay dos números iguales, y False si son to

Publicado por joel (901 intervenciones) el 19/01/2021 10:45:40
Siguiendo un poco tu código, podrías hacer algo así:
1
2
3
4
5
def repetidos(listado):
    for i in range(len(listado)):
        if i in listado[i:]:
            return True
    return False

1
2
print(repetidos([1,2,3,4,5])) # False
print(repetidos([1,2,3,4,3,5])) # True
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

Escribí una función que tome una lista y devuelva True si hay dos números iguales, y False si son to

Publicado por gastón (3 intervenciones) el 19/01/2021 12:58:10
Muchas gracias Joel por todas tus respuestas y por tomarte el tiempo! te hago una consulta respecto a esto... yo tengo entendido que los dos puntos hacen que python te devuelva un valor a partir de un inicio, en este caso el if como sería? compara con el numero siguiente al cual estoy iterando? es así la operación? gracias!!
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Escribí una función que tome una lista y devuelva True si hay dos números iguales, y False si son to

Publicado por joel (901 intervenciones) el 19/01/2021 15:41:35
Huy, discúlpame Gastón, lo he publicado mal... seria así:

1
2
3
4
5
def repetidos(listado):
    for i, x in enumerate(listado):
        if x in listado[i+1:]:
            return True
    return False

Lo que hace la linea 3, es buscar el elemento en el listado a partir de su posición.

En este caso: [1,2,3,4,3,5], lo que haria seria:
buscar el 1 en [2,3,4,3,5] -> no esta
buscar el 2 en [3,4,3,5] -> no esta
buscar el 3 en [4,3,5] -> si esta

Me he sabido explicar?
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

Escribí una función que tome una lista y devuelva True si hay dos números iguales, y False si son to

Publicado por gaston (3 intervenciones) el 19/01/2021 17:40:04
Clarisimo!! igualmente me había pasado la función! mil gracias y buena semanaa
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Escribí una función que reciba una lista y devuelva otra lista con los valores únicos ordenados

Publicado por joel (901 intervenciones) el 19/01/2021 10:50:16
No se si puedes utilizar set()... pero seria algo así:

1
2
def lista_de_unicos(listado):
    return list(sorted(set(listado)))

1
print(lista_de_unicos([5,3,1,2,2,4,3])) # [1,2,3,4,5]
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
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

lista con los los números impares comprendidos entre 0 y ese número.

Publicado por joel (901 intervenciones) el 19/01/2021 10:51:51
Este lo tienes bien, no?

1
2
def impares(numero):
    return [ x for x in range(numero+1) if x%2 != 0]
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