miércoles, 28 de octubre de 2015

Tarea 10 - Dar cambio en python

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))

viernes, 9 de octubre de 2015

Practica 7 - Problema 1

Cifrado Vegenere en python

#Luis Alberto Vargas Torres - Cifrado Vigenere
abc= '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: ")