Conjuntos En Python
Enviado por pao0108cardenas • 1 de Noviembre de 2013 • 2.056 Palabras (9 Páginas) • 414 Visitas
Enunciado:
Para el siguiente taller de programación se pide al estudiante elaborar el pseudocódigo, la prueba de escritorio y la codificación de los siguientes problemas propuestos:
1.- Se ingresan por el teclado del computador 2 variables que contienen distintas palabras separadas por comas, las mismas que representan conjuntos. Por ejemplo:
Conjunto_A = “(pera,uva,manzana,guineo)”
Conjunto_B= “(papaya,sandia,melón,uva,pera)”
Se pide elaborar un menú en el que se muestren las opciones:
1.- Ingreso de Conjunto A
2.- Ingreso de Conjunto B
3.- Unión de Conjuntos
4.- Intersección de conjuntos
5.- Salir
Cuando se realice la unión del Conjunto A con el Conjunto B, se debe mostrar el siguiente resultado:
A U B = {pera,uva,manzana,guineo,papaya,sandia,melón}
Cuando se realice la intersección se mostrará únicamente los elementos comunes a los 2 conjuntos.
Se debe programar un módulo el que contenga todas las funciones a utilizarse y desde el programa principal se deberá importar este módulo para utilizar las funciones. Considerar que se debe validar la entrada de datos de los conjuntos.
#Código Python
#Funciones
def Ingreso(conj):#Funcion para ingresar el conjusnto
signos=".""#$%&/()=?'^\\`[]*+}{><;:- _"
a=0
conj=raw_input("Ingrese las PAlABRAS deL conjunto A, ENTRE PARENTESIS Y SEPARADAS POR COMAS--> ")
for j in range(1,len(conj)-1):#compruba que no hayan signos enel conj
if conj[j] in signos:
a=2
#El sig while valida que la cadena comience y termine con () y este separada por ,
while conj[-1]!=")" or a!=0 or conj[0]!="(":
print "Una de las cadenas es incorrecta ingreselas nuevamente"
conj=raw_input("Ingrese las PAlABRAS deL conjunto A, ENTRE PARENTESIS Y SEPARADAS POR COMAS--> ")
a=0
for j in range(1,len(conj)-1):
if conj[j] in signos:
a=2
print "El conjunto ha sido ingresado correctamente"
return conj
def Union(A,B):#Funcion para unir los conjuntos
pal=""
un="("#es la union de los conjuntos
for m in range(len(A)):
if A[m]!="," and A[m]!="(" and A[m]!=")":
pal=pal+A[m]#almacena una por una las palabras del conjunto
else:
if "("+pal+"," in un or "("+pal+")" in un or ","+pal+"," in un or ","+pal+")" in un:
pass#este if es para coroborar que no hayan palabras repetidas en la union
else:
if len(un)!=1:
un=un+","+pal
else:
un=un+pal
pal=""#reinicia pal para poder almacenar la sig palabra del conjunto
for m in range(len(B)):
if B[m]!="," and B[m]!="(" and B[m]!=")":
pal=pal+B[m]
else:
if "("+pal+"," in un or "("+pal+")" in un or ","+pal+"," in un or ","+pal+")" in un:
pass
else:
if len(un)!=1:
un=un+","+pal
else:
un=un+pal
pal=""
un=un+")"
return "AUB=",un
def Comun(A,B):
com="("
pal=""
for m in range(len(B)):
if B[m]!="," and B[m]!="(" and B[m]!=")":
pal=pal+B[m]
else:
if "("+pal+"," in A or "("+pal+")" in A or ","+pal+"," in A or ","+pal+")" in
...