Buenas :) !!
Haber como haríais esto vosotros, a mi no me sale, verifico si las tuplas son iguales, pero si los valores están en distinto orden ya no se como hacerlo
CitarWrite a function hasSameContent(t1, t2) that takes in two tuples as arguments and return True if both tuples contain the same items.
Examples
>>> hasSameContent((1, 2), (1, 2))
True
>>> hasSameContent((1, 2), (2, 1))
True
>>> hasSameContent((1, 2), (1, 2, 1))
False
>>> hasSameContent((1, 2), ())
False
Saludos
Hola!
A mi me quedo así:
def hasSameContent(t1,t2):
if len(t1) != len(t2): #si la cantidad de elementos es diferente
return False
for cont in t1:
if not cont in t2: #si el elemento no se encuentra en la segunda tupla
return False
return True
>>> hasSameContent((1, 2), ())
False
>>> hasSameContent((1, 2), (1, 2, 1))
False
>>> hasSameContent((1, 2), (2, 1))
True
>>> hasSameContent((1, 2), (1, 2))
True
Saludos!
pd: de donde sacas esos ejercicios? :o
Cita de: Jirp96 en 21 Febrero 2012, 17:59 PM
Hola!
A mi me quedo así:
def hasSameContent(t1,t2):
if len(t1) != len(t2): #si la cantidad de elementos es diferente
return False
for cont in t1:
if not cont in t2: #si el elemento no se encuentra en la segunda tupla
return False
return True
>>> hasSameContent((1, 2), ())
False
>>> hasSameContent((1, 2), (1, 2, 1))
False
>>> hasSameContent((1, 2), (2, 1))
True
>>> hasSameContent((1, 2), (1, 2))
True
Saludos!
pd: de donde sacas esos ejercicios? :o
Buenas!!!
Buenas!!!
Gracias por tu respuesta,, me a servido para pasar del test, jeje porque las comprobaciones las hace sobre los ejemplos pero realmente creo que no esta bien del todo, porque se trata de Verificar si dos tuplas contienen los mismos valores, si enviáramos hasSameContent((1, 2), (1, 3)) nos daría un True y un False no?
los ejercicios son de la pagina http://www.pyschools.com/ si no la conoces mirala es muy buena.
Saludos!!
Si no los haces tu no tienen gracia ... me he pasado un rato resolviendo ejercicios de esa página :xD
def hasSameContent(t1, t2):
if len(t1)!=len(t2):
return False
return all([(x in t2) for x in t1])
Saludos
Y luego me di cuenta de que podía ser más corta :xD
def hasSameContent(t1, t2):
return all([(x in t2) for x in t1]) if len(t1)==len(t2) else False
Saludos
Cita de: Novlucker en 23 Febrero 2012, 18:06 PM
Y luego me di cuenta de que podía ser más corta :xD
def hasSameContent(t1, t2):
return all([(x in t2) for x in t1]) if len(t1)==len(t2) else False
El
A if C else B xD, aquel que no sé implementar...