Python - función que tome una lista y devuelva True si hay dos números iguales

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

función que tome una lista y devuelva True si hay dos números iguales

Publicado por emiliano (3 intervenciones) el 12/08/2020 23:11:09
tengo este ejerció y hay algo que estoy pifiando y no me doy cuenta:

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
8
9
10
11
12
13
14
15
16
def repetidos(lista):
 
 
    nueva=[]
 
 
    for elemento in lista:
 
 
        if not elemento in nueva:
 
            return False
        else:
            if  elemento in nueva:
 
                return True


gracias
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: 218
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

función que tome una lista y devuelva True si hay dos números iguales

Publicado por salvamn (52 intervenciones) el 13/08/2020 00:10:34
esto te puede servir, los conjuntos set no permiten valores repetidos, entonces si evaluamos el largo de la lista y luego convertimos la lista en un conjunto set y evaluamos el largo y si tu lista no tiene numeros repetidos imprime falso, en cambio si tu lista tiene numeros repetidos dara true.

ahora si quieres saber cuantas veces se repite un numero en tu lista puedes usar el metodo count()

espero te pueda servir.

1
2
3
4
5
6
7
8
def repetidos():
  nueva=[1,2,1]
 
  if len(nueva) == len(set(nueva)):
    return False
  else:
    return True
repetidos()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

función que tome una lista y devuelva True si hay dos números iguales

Publicado por emiliano (3 intervenciones) el 13/08/2020 00:16:27
Gracias por la ayuda
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

función que tome una lista y devuelva True si hay dos números iguales

Publicado por yoyyo (1 intervención) el 13/08/2020 00:19:50
más allá de que set es la opción más usada te comento tu código para que veas donde fallaste y te muestro la corrección de ese mismo código, solamente para que veas la lógica:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#-*- coding: utf -8 -*-
def repetidos(lista):
    nueva=[]  #lista vacía
    for elemento in lista: #recorre la lista
        if not elemento in nueva: # si no está en nueva
            return False #como no esta regresa
        else:  # if esta en nueva, está implicito al ser contrario al primer if
            if elemento in nueva: # repite, pero además nueva siempre estará vacía
                return True
 
def repetidos_1(lista):
    nueva = []
    for elemento in lista: # recorre etc
        if  elemento in nueva: #¿si esta?
            return True #termina la función
        else:#sino esta
            nueva.append(elemento) #agregamos
    return False #regresa al terminar de recorrer
 
numeros=[1,2,3,4,5,2]
 
 
print(repetidos(numeros))
print(repetidos_1(numeros))

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 11
Ha disminuido su posición en 5 puestos en Python (en relación al último mes)
Gráfica de Python

función que tome una lista y devuelva True si hay dos números iguales

Publicado por emiliano (3 intervenciones) el 13/08/2020 00:26:41
Genio total . Grarcias por el tiempo . Estamos dando los primeros pasos .
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