Luis Alberto Vargas Torres
jueves, 29 de octubre de 2015
miércoles, 28 de octubre de 2015
Tarea 9 - MergeSort y QuickSort
MergeSort en python
def mergeSort(nums):print("Separando -> ",nums)
if len(nums)>1:
medio = len(nums)//2
izqmedio = nums[:medio]
dermedio = nums[medio:]
mergeSort(izqmedio)
mergeSort(dermedio)
i=0
j=0
k=0
while i < len(izqmedio) and j < len(dermedio):
if izqmedio[i] < dermedio[j]:
nums[k]=izqmedio[i]
i=i+1
else:
nums[k]=dermedio[j]
j=j+1
k=k+1
while i < len(izqmedio):
nums[k]=izqmedio[i]
i=i+1
k=k+1
while j < len(dermedio):
nums[k]=dermedio[j]
j=j+1
k=k+1
print("Combinando -> ",nums)
nums = [34,67,56,2,34,5,6,78,90,9]
print "La lista desordenada es: ",(nums)
mergeSort(nums)
QuickSort en python
def Quicksort(lista,izq,der):
i=izq
j=der
x=lista[(izq + der)/2]
while( i <= j ):
while lista[i]<x and j<=der:
i=i+1
while x<lista[j] and j>izq:
j=j-1
if i<=j:
aux = lista[i]; lista[i] = lista[j]; lista[j] = aux;
i=i+1; j=j-1;
if izq < j:
Quicksort(lista,izq,j);
if i < der:
Quicksort(lista,i,der);
def imprimeLista(lista,tam):
for i in range(0,tam):
print lista[i]
def LeerLista():
lista=[]
cn=int(raw_input("Cantidad de numeros a ingresar: "))
for i in range(0,cn):
lista.append(int(raw_input("Ingrese numero %d : " % i)))
return lista
A=LeerLista()
Quicksort(A,0,len(A)-1)
imprimeLista(A,len(A))
domingo, 25 de octubre de 2015
viernes, 9 de octubre de 2015
Practica 7 - Problema 1
Cifrado Vegenere en python
#Luis Alberto Vargas Torres - Cifrado Vigenereabc= 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ'
def Cifrar(cadena, clave):
texto_cifrar = ''
i=0
for letra in cadena:
suma = abc.find(letra) + abc.find(clave[i % len(clave)])
modulo = int(suma) % len(abc)
texto_cifrar = texto_cifrar + str(abc[modulo])
i=i+1
return texto_cifrar
c=str(raw_input("Cadena a cifrar: ")).upper()
clave=str(raw_input("Clave: ")).upper()
print Cifrar(c,clave)
viernes, 2 de octubre de 2015
Tarea 8 - Los puntos mas cercanos
Los puntos mas cercanos en python
import math
ejex=[]
ejey=[]
NumPun=int(raw_input("Escribe cuantos puntos seran: "))
for i in range(0,NumPun):
print "Escribe la coordenada x del punto",i+1,
num=int(raw_input(":"))
ejex.append(num)
print "Escribe la coordenada y del punto",i+1,
num=int(raw_input(":"))
ejey.append(num)
print "\nLas Cordendas de los Puntos son: "
for i in range(0,NumPun):
print "(",ejex[i],",",ejey[i],")"
distmin=10000000
distminx=0
distminy=0
i=0
j=0
while i<NumPun and j<NumPun:
k=0
l=0
while k<NumPun and l<NumPun:
if ejex[i]==ejex[k] and ejey[j]==ejey[l]:
k=k+1
l=l+1
else:
dist=math.sqrt((ejex[i]-ejex[k])**2+(ejey[j]-ejey[l])**2)
if dist<distmin:
distmin=dist
distminx=i
distmink=k
distminy=j
distminl=l
k=k+1
l=l+1
i=i+1
j=j+1
print "La distancia mínima es",dist
print "Entre el punto (",ejex[distminx],",",ejey[distminy],") y (",ejex[distmink],",",ejey[distminl],")"
miércoles, 30 de septiembre de 2015
Tarea 7 - Expresiones Regualres
Expresiones Regulares en python
TEXTO=raw_input("Escribe tu expresion regular (abc,cba,...): ")
res='s'
while (res=='s'):
PATRON=raw_input("Escribe el patron a buscar: ")
if re.findall(PATRON,TEXTO):
print "Cadena encontrada"
else:
print "Cadena no encontrada"
res=str(raw_input("Deseas buscar otra palabra (s/n) ? "))
Alf=[]
ElemAlf=int(raw_input("Cuantos elementos son de tu alfabeto: "))
for i in range(0,ElemAlf):
Elem=str(raw_input("Ingresa el elemento de tu alfabeto: "))
Alf.append(Elem)
print Alf
Pal=raw_input("Escribe palabraa buscar: ")
Suscribirse a:
Comentarios (Atom)