The::Beastieux

Sangre de Bestia + Corazón de Pingüino | Un blog acerca de Linux, *BSD, Open Source, Software Libre, Programación …

Archivos por Etiqueta: Python

Códigos Sencillos hechos en Python


Aquí les dejo algunos códigos sencillos en Python que me puse a escribir cuando aún no sabía mucho de éste; útil para quienes quieren empezar a conocer este lenguaje de programación y comprender un poco el concepto de las listas sin hacer mucho uso de funciones especiales. Con un poco más de conocimiento sobre la sintaxis de python es muy probable que logren reducir el número de lineas de código por la sencillez  que representa este Lenguaje de Programación.

Código Python – Encontrar Posición de un Elemento en un Lista
Código Python – Concatenar Elementos de Dos Listas
Código Python – Eliminar Un Elemento de una Lista
Código Python – Eliminar Un Elemento de una Lista mediante su Indice
Código Python – Insertar Un Elemento en una Lista
Código Python – Determinar Si dos Listas son Iguales.
Código Python – Inclusión de Listas como Conjunto
Código Python – Intersección de Listas como Conjunto
Código Python – Unión de dos Listas como Conjunto
Código Python – Promedio de los Elementos de una Lista
Código Python – Moda de los Elementos de una Lista
Código Python – Suma de los Elementos de una Lista
Código Python – Suma de Elementos Pares de una Lista
Código Python – Suma de Elementos Impares de una Lista
Código Python – Potencia de los Elementos de una Lista elevados a su Indice
Código Python – Potencia de los Elementos de una Lista

Código Python – Concatenar Elementos de Dos Listas


Ejemplo de Listas en Python: Retorna una nueva lista que contiene los elementos de la lista A seguidos de los elementos de la lista B.

# Retorna una nueva lista que contiene los elementos de la lista A
# seguidos de los elementos de la lista B.

import random

def concatenarLista(lista_a, lista_b):
    lista_nueva=[]

    for i in range(0,len(lista_a)):
        lista_nueva.append(lista_a[i])

    for i in range(0,len(lista_b)):
        lista_nueva.append(lista_b[i])

    return lista_nueva

def imprimirLista(lista,nombre):
    for i in range(0,len(lista)):
        print nombre + "[" + str(i) + "]=" + str(lista[i])

def leerLista():
    lista=[]

    i=0
    while i < 5:
        lista.append(int(random.randint(0, 5)))
        i=i+1
    return lista

A=leerLista()
B=leerLista()
C=concatenarLista(A, B)
imprimirLista(C,"C")

Código Python – Encontrar Posición de un Elemento en un Lista


Ejemplo de Listas en Python: Busca un elemento en la lista y retorna la posición en la que se encuentra.

import random

def buscarElemento(lista, elemento):
    for i in range(0,len(lista)):
        if(lista[i] == elemento):
            return i

def imprimirLista(lista,nombre):
    for i in range(0,len(lista)):
        print nombre + "[" + str(i) + "]=" + str(lista[i])

def leerLista():
    lista=[]

    i=0
    while i < 10:
        lista.append(int(random.randint(0, 10)))
        i=i+1
    return lista

A=leerLista()
imprimirLista(A,"A")
cn=int(raw_input("Numero a buscar: "))
print "A[" + str(buscarElemento(A,cn)) + "]"

Métodos de Ordenamiento Hechos en Python


Los primeros posts que realizo sobre Python estarán dedicados a los métodos de ordenamiento. Hasta el momento la codificación en python me ha sorprendido mucho porque es muy sencilla, limpia, no necesitas escribir mucho a comparación de otros lenguajes de programación. Si te gusta la programación te aseguro que python te va a encantar. Aquí les dejos los métodos de ordenamiento escritos en Python:

Método Burbuja: Ordenamiento Burbuja.py
Método Shell: Ordenamiento Shell.py
Método QuickSort: Ordenamiento por método QuickSort.py
Método Inserción Directa: Ordenamiento por inserción Directa.py
Método Inserción Binaria: Ordenamiento por inserción Binaria.py
Método Selección: Ordenamiento método Selección.py
Método HeapSort: Ordenamiento método HeapSort.py

Código Python – Ordenamiento Quicksort


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Quicksort:

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 leeLista():
    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=leeLista()
quicksort(A,0,len(A)-1)
imprimeLista(A,len(A))

Código Python – Ordenamiento por Selección


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método de Selección:

def selectionsort(lista,tam):
    for i in range(0,tam-1):
        min=i
        for j in range(i+1,tam):
            if lista[min] > lista[j]:
                min=j
        aux=lista[min]
        lista[min]=lista[i]
        lista[i]=aux

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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=leeLista()
selectionsort(A,len(A))
imprimeLista(A,len(A))

Código Python – Ordenamiento por Inserción Binaria


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método de Inserción Binaria:

def insercionBinaria(lista,tam):
    for i in range(1,tam):
        aux=lista[i]
        izq=0
        der=i-1
        while izq<=der:
                m=(izq+der)/2
                if aux < lista[m]:
                        der=m-1
                else:
                        izq=m+1

        j=i-1
        while j>=izq:
                lista[j+1]=lista[j]
                j=j-1
        lista[izq]=aux

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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=leeLista()
insercionBinaria(A,len(A))
imprimeLista(A,len(A))

Código Python – Ordenamiento Shell


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Shell:

def ordenShell(lista,tam):
    inc=1
    for inc in range(1,tam,inc*3+1):
        while inc>0:
            for i in range(inc,tam):
                j=i
                temp=lista[i]
                while j>=inc and lista[j-inc]>temp:
                    lista[j]=lista[j-inc]
                    j=j-inc
                lista[j]=temp
            inc=inc/2

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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

Código Python – Ordenamiento por Inserción Directa


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método de Inserción Directa:

def insercionDirecta(lista,tam):
    for i in range(1,tam):
        v=lista[i]
        j=i-1
        while j >= 0 and lista[j] > v:
            lista[j+1] = lista[j]
            j=j-1
        lista[j+1]=v

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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=leeLista()
insercionDirecta(A,len(A))
imprimeLista(A,len(A))

Código Python – Ordenamiento Heapsort


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Heapsort:

def heapsort(lista,tam):
    for k in range(tam-1,-1,-1):
        for i in range(0,k):
            item=lista[i]
            j=(i+1)/2
            while j>=0 and lista[j]<item:
                lista[i]=lista[j]
                i=j
                j=j/2
            lista[i]=item
        temp=lista[0];
	lista[0]=lista[k];
	lista[k]=temp;

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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=leeLista()
heapsort(A,len(A))
imprimeLista(A,len(A))

Código Python – Ordenamiento Burbuja


El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método de la Burbuja:

def ordenamientoBurbuja(lista,tam):
    for i in range(1,tam):
        for j in range(0,tam-i):
            if(lista[j] > lista[j+1]):
                k = lista[j+1]
                lista[j+1] = lista[j]
                lista[j] = k;

def imprimeLista(lista,tam):
    for i in range(0,tam):
        print lista[i]

def leeLista():
    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=leeLista()
ordenamientoBurbuja(A,len(A))
imprimeLista(A,len(A))
A %d blogueros les gusta esto: