Mostrando entradas con la etiqueta aprender python. Mostrar todas las entradas
Mostrando entradas con la etiqueta aprender python. Mostrar todas las entradas

domingo, 21 de julio de 2024

El libro de Python

Existe un libro sobre Python que puede leer vía web.

El sitio es el siguiente:

https://ellibrodepython.com/

Como dice el sitio web:

"Nuestro libro explica todos los conceptos desde prácticamente cero, por lo que podría ser leído fácilmente por cualquier persona sin necesidad de saber programar. No obstante tener unas nociones básicas de programación ayudarán sin duda a seguir mejor el libro."

Y continúa:

Cada capítulo va acompañado del siguiente emoji, lo que indica su dificultad. Si ya tienes algo de experiencia previa con Python, tal vez te puedas saltar los capítulos verdes. Una vez hayas leído todos los capítulos de un nivel, deberías poder pasar a leer los siguientes sin problema.

Puedes encontrar diversos ejemplos como medir el tiempo:

import time
inicio = time.time()

# Código a medir
lista = [i for i in range(10000000) if i%2==0]
# -------------

fin = time.time()
print(fin-inicio) # 1.5099220275878906

Generar números aleatorios:

from random import *

# Para números decimales
print(uniform(0,10))
# 6.68079620859125

# Para números decimales, entre 0 y 1
from random import *
print(random())
# 0.00402817235037356

# Elegir un elemento aleatorio de una lista
from random import *
print(choice(["A", "B", "C"]))

Si quieres colaborar, este es su correo:

ellibrodepython@gmail.com

¡Hasta la próxima!

Enlaces:

https://ellibrodepython.com/

domingo, 15 de febrero de 2015

Python: jugando con PyZenity (3era parte)

En esta ocasión seguimos usando la librería PyZenity. Ahora crearemos un sencillo menú con tres opciones:
  1. Información del sistema
  2. Espacio en los discos duros
  3. Ver directorio
Importaremos estas librerías:
  • os
  • platform
  • commands
  • PyZenity
Nos servirán para ejecutar comandos, obtener plataforma que se ocupa (en este caso se usa Linux), almacenar el resultado de comandos y para los componentes gráficos respectivamente.

Como va ser un script para sistemas Linux hacemos una función que identifique si se trata de un sistema con plataforma Linux:

def identifica():
  return platform.system() == 'Linux'


Para ejecutar un comando (sin necesidad de almacenar el resultado) usamos este método:

os.system('clear')#este comando limpia la pantalla

Ahora si queremos guardar el resultado de un comando usaremos esto:
status, output = commands.getstatusoutput("ls -l")

Para introducir datos de entrada:
entrada=GetText(contenido)

Para mostrar resultados:
InfoMessage('Mensaje')

El código completo:
import os,platform,commands
from PyZenity import *

def identifica():
  return platform.system() == 'Linux'

def menu():
  contenido="\tMenu\n1. Opcion 1[Informacion del sistema]\n2. Opcion 2[Espacio en los discos duros]\n3. Opcion 3[Ver el directorio]\nElije tu opcion (q para salir):"
  while True:
    entrada=GetText(contenido)
    try:
      numero=int(entrada)
      if numero == 1:
        status, output = commands.getstatusoutput("uname -a")
        InfoMessage(str(output))
      elif numero == 2:
        status, output = commands.getstatusoutput("df")
        InfoMessage(str(output))
      elif numero == 3:
        status, output = commands.getstatusoutput("ls -l")
        InfoMessage(str(output))
      else:
        ErrorMessage('Opcion incorrecta.\nIntenta de nuevo')
    except:
      if entrada == 'q':
        break
      Warning('Por favor solo numeros')


def main():
  if identifica():
    os.system('clear')
    try:
      menu()
    except ImportError:
      print "Debes tener instalada la libreria PyZenity"

  else:
    print "Este script solo funciona en plataformas Linux"

if __name__ == '__main__':
  main()



martes, 6 de enero de 2015

Python: jugando con PyZenity (2da parte)


Seguimos con los ejemplos de componentes PyZenity.


7. Uso de un componente tipo List. Nos puede servir para crear una lista de artículos, en este ejemplo usamos un tipo "radiolist".
from PyZenity import *

def preguntar():
    if Question('Deseas continuar?'):
        main()
    else:
        exit()


def main():
    lista=List(["Selecciona","Heroe","Nombre"], title="Elige tu heroe", boolstyle="radiolist", editable=False, select_col="ALL", sep='|', data=[["","Batman","Bruce Wayne"],["","Spiderman","Peter Parker"]])
    print "longitud:",len(lista)

    if len(lista)==2:
        InfoMessage('Elegiste:'+str(lista[1]))
        preguntar()


if __name__ == '__main__':
    main()


Los encabezados: Selecciona, Heroe, y Nombre.
Los valores: radiolist, nombre del héroe, nombre de pila

Ejecutando:

Nos mostrará un mensaje tipo "alert" con la opción seleccionada.




8. También podemos crear una lista con tipo "checklist".
from PyZenity import *

def preguntar():
    if Question('Deseas continuar?'):
        main()
    else:
        exit()


def main():
    lista=List(["Selecciona","Heroe","Nombre"], title="Elige tu heroe", boolstyle="checklist", editable=False, select_col="ALL", sep='|', data=[["","Batman","Bruce Wayne"],["","Spiderman","Peter Parker"]])
    print "longitud:",len(lista)

    if len(lista)==2:
        InfoMessage('Elegiste:'+str(lista[1]))
        preguntar()

    if len(lista)==4:
        InfoMessage('Elegiste:'+str(lista[1])+" - "+str(lista[3]))
        preguntar()


if __name__ == '__main__':
    main()






Nos mostrará la siguiente ventanita:





9. Ahora un ejemplo con Progress.
from PyZenity import *

def main():
    progreso=Progress(text='Cargando información ...',percentage=0,auto_close=False,pulsate=False)
    progreso(10)
    progreso(20)
    progreso(30)
    progreso(40)


if __name__ == '__main__':
    main()


Para el próximo post crearemos una aplicación más usando esta librería.

miércoles, 28 de diciembre de 2011

Python, ejemplos prácticos no. 2


1. Programa que acepte un año escrito en cifras arábigas y visualice el año en números romanos, dentro del rango 1000-1999
'''
autor: yo
fecha: 24 de diciembre de 2011
'''

anyo,anyo_desglosado,aux=0,0,0
romano=""

while anyo<=0 and anyo<=1999:
    anyo=int(raw_input('Introduce año:'))
    print "Año en arábigo [",anyo,"]"
    print "\nAño desglosado: "

if (anyo>=1000):
    anyo_desglosado=anyo%1000
    romano=romano+"M"
    aux=1000
    print "arábigo:",aux
   
if (anyo_desglosado>=900):
    anyo_desglosado=anyo_desglosado%900
    romano=romano+"CM"
    aux=900
    print "arábigo:",aux

if (anyo_desglosado>=800):
    anyo_desglosado=anyo_desglosado%800
    romano=romano+"DCCC"     
    aux=800
    print "arábigo:",aux

if (anyo_desglosado>=700):
    anyo_desglosado=anyo_desglosado%700
    romano=romano+"DCC"         
    aux=700
    print "arábigo:",aux

if (anyo_desglosado>=600):
    anyo_desglosado=anyo_desglosado%600
    romano=romano+"DC"            
    aux=600
    print "arábigo:",aux

if (anyo_desglosado>=500):
    anyo_desglosado=anyo_desglosado%500
    romano=romano+"D"               
    aux=500
    print "arábigo:",aux


if (anyo_desglosado>=400):
    anyo_desglosado=anyo_desglosado%400
    romano=romano+"CD"                 
    aux=400
    print "arábigo:",aux

if (anyo_desglosado>=300):
    anyo_desglosado=anyo_desglosado%300
    romano=romano+"CCC"                          
    aux=300
    print "arábigo:",aux

if (anyo_desglosado>=200):
    anyo_desglosado=anyo_desglosado%200
    romano=romano+"CC"                               
    aux=200
    print "arábigo:",aux

if (anyo_desglosado>=100):
    anyo_desglosado=anyo_desglosado%100
    romano=romano+"C"                                 
    aux=100
    print "arábigo:",aux


if (anyo_desglosado>=90):
    anyo_desglosado=anyo_desglosado%90
    romano=romano+"XC"                                 
    aux=90
    print "arábigo:",aux

if (anyo_desglosado>=80):
    anyo_desglosado=anyo_desglosado%80
    romano=romano+"LXXX"                                          
    aux=80
    print "arábigo:",aux

if (anyo_desglosado>=70):
    anyo_desglosado=anyo_desglosado%70
    romano=romano+"LXX"                                              
    aux=70
    print "arábigo:",aux

if (anyo_desglosado>=60):
    anyo_desglosado=anyo_desglosado%60
    romano=romano+"LX"                                                    
    aux=60
    print "arábigo:",aux


if (anyo_desglosado>=50):
    anyo_desglosado=anyo_desglosado%50
    romano=romano+"L"                                                       
    aux=50
    print "arábigo:",aux

if (anyo_desglosado>=40):
    anyo_desglosado=anyo_desglosado%40
    romano=romano+"XL"                                                            
    aux=40
    print "arábigo:",aux

if (anyo_desglosado>=30):
    anyo_desglosado=anyo_desglosado%30
    romano=romano+"XXX"                                                                
    aux=30
    print "arábigo:",aux

if (anyo_desglosado>=20):
    anyo_desglosado=anyo_desglosado%20
    romano=romano+"XX"                                                                
    aux=20
    print "arábigo:",aux

if (anyo_desglosado>=10):
    anyo_desglosado=anyo_desglosado%10
    romano=romano+"X"                                                                       
    aux=10
    print "arábigo:",aux

if (anyo_desglosado==9):
    anyo_desglosado=anyo_desglosado%9
    romano=romano+"IX"                                                                           
    aux=9
    print "arábigo:",aux

if (anyo_desglosado==8):
    anyo_desglosado=anyo_desglosado%8
    romano=romano+"VIII"                                                                                
    aux=8
    print "arábigo:",aux

if (anyo_desglosado==7):
    anyo_desglosado=anyo_desglosado%7
    romano=romano+"VII"                                                                                    
    aux=7
    print "arábigo:",aux

if (anyo_desglosado==6):
    anyo_desglosado=anyo_desglosado%6
    romano=romano+"VI"                                                                                        
    aux=6
    print "arábigo:",aux

if (anyo_desglosado==5):
    anyo_desglosado=anyo_desglosado%5
    romano=romano+"V"                                                                                            
    aux=5
    print "arábigo:",aux

if (anyo_desglosado==4):
    anyo_desglosado=anyo_desglosado%4
    romano=romano+"IV"                                                                                                
    aux=4
    print "arábigo:",aux

if (anyo_desglosado==3):
    anyo_desglosado=anyo_desglosado%3
    romano=romano+"III"                                                                                                   
    aux=3
    print "arábigo:",aux

if (anyo_desglosado==2):
    anyo_desglosado=anyo_desglosado%2
    romano=romano+"II"                                                                                                        
    aux=2
    print "arábigo:",aux

if (anyo_desglosado==1):
    anyo_desglosado=anyo_desglosado%1
    romano=romano+"I"                                                                                                            
    aux=1
    print "arábigo:",aux


print "\nAño en romano: ",romano


2. Obtener salario nuevo
#código Python
'''

autor: yo
fecha : viernes 9 de diciembre del 2011

'''
#función que calcula el nuevo salario --> ganancia
def obtenerGanancia(m,p):
    return m+(m*(p/100))

#función que calcula el nuevo salario --> perdida
def obtenerPerdida(m,p):
    return m-(p*(p/100))

#variables
salir="s"
monto,porcentaje=0,0
opc=0

while salir == "s":
   
    print "***************************************"
    print "[Programa que calcula el salario nuevo]"
    print "***************************************"
    print ""

    #menú
    print "1. Obtener ganancia"
    print "2. Obtener pérdida"
   
    opc=int(raw_input('Introduce opción: '))

    #obtener ganancia
    if opc==1:
        print "[Obtener ganancia]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerGanancia(monto,porcentaje)
        print ""

    #obtener pérdida
    if opc==2:
        print "[Obtener pérdida]"
        monto=float(raw_input('Monto: '))
        print "$",monto,"\n"
        porcentaje=float(raw_input('Porcentaje:'))
        print porcentaje,"% \n"
        print "Ganancia: $",obtenerPerdida(monto,porcentaje)
        print ""

    else:
        print "opción inválida"

   
    salir=raw_input('Desea hacer otra operación? (s/n):')
    print ""

    if salir=="n":
        print "adios"

lunes, 26 de diciembre de 2011

Tarot básico en Python

 Aqui el código escrito en Python para calcular tu carta del tarot.

def obtenerArcano(arc):
    if arc==1:
        return "El Mago"
    if arc==2:
        return "La Papisa"
    if arc==3:
        return "La Emperatriz"
    if arc==4:
        return "El Emperador"
    if arc==5:
        return "El Papa"
    if arc==6:
        return "El Enamorado"
    if arc==7:
        return "El Carro"
    if arc==8:
        return "La Justicia"
    if arc==9:
        return "El Ermitaño"
    if arc==10:
        return "La Rueda"
    if arc==11:
        return "La Fuerza"
    if arc==12:
        return "El Colgado"
    if arc==13:
        return "La Muerte"
    if arc==14:
        return "La Templanza"
    if arc==15:
        return "El Diablo"
    if arc==16:
        return "La Torre"
    if arc==17:
        return "La Estrella"
    if arc==18:
        return "La Luna"
    if arc==19:
        return "El Sol"
    if arc==20:
        return "El Juicio"
    if arc==21:
        return "El Mundo"
    if arc==22:
        return "El Loco"



dia_nac=0
mes_nac=""
anyo_nuevo=0
aux=0
suma,i=0,0
cadena=""
sumaTotal=0


dia_nac=int(raw_input('Dia de nacimiento:'))
mes_nac=raw_input('Mes de nacimiento:')
anyo_nuevo=int(raw_input('Año nuevo:'))

print "Datos leidos:\n"
print "\tDía de nacimiento ||  Mes de nacimiento  || Año nuevo que empieza"
print "\t",dia_nac,"             || ",mes_nac,"            || ",anyo_nuevo
print ""

if mes_nac=="diciembre":
    aux=12
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
  
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)
  
  
  

if mes_nac=="noviembre":
    aux=11
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="octubre":
    aux=10
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="septiembre":
    aux=9
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

  
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="agosto":
    aux=8
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="julio":
    aux=7
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

  
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="junio":
    aux=6
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="mayo":
    aux=5
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="abril":
    aux=4
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="marzo":
    aux=3
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])

    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if
mes_nac=="febrero":
    aux=2
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

if mes_nac=="enero":
    aux=1
    suma=dia_nac+aux+anyo_nuevo
    print "Suma [",suma,"]"
    cadena=str(suma)
    print "Cadena: [",cadena,"]"
    print list(cadena)
    for i in range(len(cadena)):
        sumaTotal=sumaTotal+int(cadena[i])
      
    print "Número: ",sumaTotal
    print "Te corresponde el signo del ",obtenerArcano(sumaTotal)

jueves, 17 de noviembre de 2011

¿Cómo introducir/mostrar datos en Java, C, Groovy & Python?



En Java/Groovy

1. Uso de java.util.Scanner y java.io
package control.pruebas;


import java.util.Scanner;
import java.io.*;

public class Entrada {

/**
* @param args
*/
public static void main(String[] args) {
BufferedReader teclado= new BufferedReader(new InputStreamReader(System.in));
Scanner tecla=new Scanner(System.in);


System.out.println("Introduce entero");
int entero;
try {
entero = Integer.parseInt(teclado.readLine());
System.out.printf("%d",entero);
System.out.println(entero);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}



System.out.println("Introduce real");
double real;
try {
real = Double.parseDouble(teclado.readLine());
System.out.printf("%f",real);
System.out.println(real);
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("Introduce cadena");
String cadena;
try {
cadena = teclado.readLine();
System.out.printf("%s",cadena);
System.out.println(cadena);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


System.out.println("Introduce entero");
int enterox= tecla.nextInt();

System.out.printf("%d",enterox);
System.out.println(enterox);
System.out.println("Introduce real");
double realx= tecla.nextInt();

System.out.printf("%f",realx);
System.out.println(realx);
System.out.println("Introduce cadena");
String cadenax= tecla.nextLine();

System.out.printf("%s",cadenax);
System.out.println(cadenax);

}

}

En Python
entero=int(raw_input('Introduce entero:'))
print "entero: %d"%(entero)
print "entero: ",entero

real=float(raw_input('Introduce real:'))
print "real: %f"%(real)
print "real: ",real

cadena=raw_input('Introduce cadena')
print "cadena: ",cadena

En C
int entero;
float real;

printf("Introduce entero:"); scanf("%d",&entero);
printf("entero: %d",entero);
printf("Introduce real:"); scanf("%d",&real);
printf("entero: %f",real);

char cadena[23];
puts("Introduce cadena");
gets(cadena);

puts(cadena);


domingo, 13 de noviembre de 2011

¿Cómo aprender a programar?

  • Conoce gente que sepa de programación 
  • Busca información, libros, apuntes, blogs, sitios especializados,etc.
  • Comparte tus conocimientos (aunque sean limitados) siempre alguien te podrá corregir si te equivocas
  • Siempre es bueno tener tu propio "banco de datos" donde almacenar tus apuntes, tus notas, etc.
  • Leer ayuda de mucho, también la lógica y las matemáticas
  • Haz notas de lo que no entiendas, busca términos que te confundan o que no entiendas claramente
  • Preguntar es bueno, aunque no siempre esperes que te contesten y resuelvan tus problemas
  • El Face y Twitter no son solo para ver mensajes sin contenido ni sustancia, también pueden servir para encontrar buena información y conocer gente
  • Si encuentras código no es bueno tan solo copiar y pegar,estudialo no todo el código que encuentras en  internet sirve
  • Y lo más importante, el programador se hace con la práctica no en las aulas

Un ejemplo muy sencillo. Sumar todos los valores de un arreglo
//defino un arreglo con números
int[] numeros={3,4,5,6,7,8,9};
int i,suma=0;
//bucle que va sumando todos los valores del arreglo
for(i=0;i<numeros.length;i++){
   suma+=numeros[i];
}
//muestro la suma de todos los valores
System.out.println("Suma de todos los números: "+suma);

    martes, 25 de octubre de 2011

    Comparativa C/Java/Python




    1. Introducción de datos

    //en C
    int entero;
    printf(“Introduce valor entero: ”);
    scanf(“%d”,&entero);

    float real;
    printf(“Introduce valor real: ”);
    scanf(“%f”,&real);

    char cadena[10];
    printf(“Introduce cadena: ”);
    gets(cadena);

    //en Java
    Scanner teclado=new Scanner(System.in);

    int entero;
    System.out.println(“Introduce entero:”);
    entero=teclado.nextInt();

    double real;
    System.out.println(“Introduce real:”);
    real=teclado.nextDouble();

    String cadena;
    System.out.println(“Introduce cadena:”);
    cadena=teclado.nextLine();

    #Python
    cadena=raw_input('Cadena:')
    entero=int(raw_input('Entero:'))
    real=float(raw_input('Real:'))

    2. Arreglos: listas

    //en C
    int vector[4]={5,7,9,11,13};
    int i;
    for(i=0;i<3;i++){
    printf(“%d\n”,vector[i]);
    }



    //en Java
    int[] vector={6,9,12,15,18};
    for(int e: vector){
    System.out.println(e);
    }

    #en Python
    vector=[3,5,7,9,11,13]
    i=0
    for i in range(len(vector)):
    print vector[i]

    3. Arreglos: tablas

    //en C
    int matriz[3][3]={{4,5,6},{8,10,12},{7,4,2}};
    int i, j;
    for(i=0;i<2;i++){
    for(j=0;j<2;j++){
    printf(“%d\n”,matriz[i][j]);
    }
    }

    //en Java
    int[][] matriz={{4,5,6},{8,10,12},{7,4,2}};
    int i, j;
    for(i=0;i<2;i++){
    for(j=0;j<2;j++){
    System.out.println(matriz[i][j]);
    }
    }

    #en Python
    matriz=[[6,5,3],[9,12,32],[0,54,87]]
    i, j=0,0
    for i in range(len(matriz)):
    for j in range(len(matriz)):
    print matriz[i][j]

    4. Funciones matemáticas
    //en C
    #include<math.h>

    void main(){
    int a=2,b=4;
    printf(“%d elevado a %d es: %d”,b,a,pow(b,a));

    printf(“La raiz cuadrada de %d es: %f”,b,(float)sqrt(b));
    printf(“El seno de %d es: %f”,a,sin(a));


    }

    //en Java
    import java.lang.Math;

    int a=4,b=2;
    System.out.println(a+” elevado a ”+b+” es: ”+Math.pow(a,b));

    System.out.println(“La raiz cuadrada de ”+a+” es: ”+Math.sqrt(a));
    System.out.println(“El seno de ”+a+” es: ”+Math.sin(a));


    #en Python
    from math import pow,sqrt
    a,b=4,2
    print “La raiz cuadrada de ”,a,” es: ”,sqrt(a)
    print “%d elevado a %d es: %d”%(a,b,pow(a,b))
    print “El seno de %d es %f”%(b,sin(b))

    5. Estructuras de control: selectivas
    //en C
    int a=4,b=6;
    if(a<b){
    printf(“%d es menor que %d”,a,b);
    }
    else{
    printf(“%d es menor que %d”,b,a);
    }

    int opcion; opcion=1;
    switch(opcion){
    case 1: puts(“opción 1”);break;
    case 2: puts(“opción 2”);break;
    default: puts(“opción no definida”);break;
    }

    //en Java
    boolean expresion;
    int a=3,b=9;

    expresion=(a<b)&&(b>0);

    if(!expresion){
    System.out.println(“La expresión da falso”);
    }else{
    System.out.println(“La expresión da verdadero”);
    }

    int opc=1;
    switch(){
    case 1: System.out.println(“opción 1”);break;
    case 2: System.out.println(“opción 2”);break;
    default: System.out.println(“opción no definida”);break;
    }

    #en Python
    a,b=5,3
    expresion1=(a>b)
    expresion2=(a>0)

    if expresion1 or expresion2:
    print "La expresión es falsa"

    else:
    print "La expresión es verdadera"


    opcion=1
    if opcion==1:
    print “Opción 1”

    if opcion==2:
    print “Opción 2”

    else:
    print “Ninguna”




    lunes, 17 de octubre de 2011

    Comparativa: Java y Python



    He aquí una serie de ejercicios escritos en Java y Python que resuelven un mismo problema. El código Java no está del todo completo (falta declaración de librerías, la función main, etc.), pero
    tiene lo esencial.

    1. Sumar los primeros 20 números impares.
    número impar= (2*i)+1
    //código Java
    int suma=0;
    for(int i=0;i<19;i++){
      suma+=(2*i)+1;
    }
    System.out.println("Suma total: "+suma);

    #código Python
    suma, i,=0, 0
    for i in range(19):
      suma+=i

    print "Suma total: ",suma

    2. Factorial de un número.
    //código Java
    int numero=0, fact=0;
    Scanner teclado=new Scanner(System.in);
    do{
    System.out.println("Introduce número >0 :");
    numero=teclado.nextInt();
    }while(numero<=0);

    for(int i=0;i<=numero;i++) {
      fact*=i;
    }
    System.out.println("Factorial de "+numero+"  es:"+fact);

    #código Python
    numero, fact, i=0, 0, 0
    while numero<=0:
      numero=int(raw_input('Introduce número >0 :'))

    for i in range(numero):
      fact*=i

    print "Factorial de %d es %d"%(numero,fact)


    3.  Grados Celsius a Fahrenheit
    Fórmula--> F=(C*1.8)+32 , donde C=grados Celsius
    //código Java
    public static final int k1=32;
    public static final double k2=1.8;

    //función
    static double conversionGrados(double va){
      return (va*k2)+ k1;
    }

    double gradosC=0.0;
    Scanner teclado=new Scanner(System.in);

    do{
    System.out.println("Introduce valor :");
    gradosC=teclado.nextDouble();
    }while(gradosC<=0);

    System.out.println("Grados Celsius "+gradosC+" a grados Fahrenheit "+conversionGrados(gradosC));



    #código Python
    def  conversionGrados(va):
      return (va*1.8)+32

    gradosC=0
    while gradosC<=0:
      gradosC=float(raw_input('Introduce valor: '))

    print "Grados Celsius %f a grados Fahrenheit %f"%(gradosC,conversionGrados(gradosC))

    4. Ejemplo de una clase
    //código Java
    public class Persona{
      private String nombre;
      private int edad;

      public void setNombre(String nombre){
       this.nombre=nombre;
      }

      public String getNombre(){
       return this.nombre;
     }


      public void setEdad(int edad){
       this.edad=edad;
     }

     public int getEdad()
       return this.edad;
     }

     public static void main(String[] args){
       Persona miObjeto=new Persona();
     
       miObjeto.setNombre("Pedro");
       miObjeto.setEdad(29);

      System.out.println("Nombre: "+miObjeto.getNombre());
      System.out.println("Edad: "+miObjeto.getEdad());

     }



    }




    #código Python
    Nombre=""
    Edad=0
    class Persona:
        def setNombre(self,Nombre):
            self.Nombre=Nombre

        def getNombre(self):
            return Nombre

        def setEdad(self,Edad):
            self.Edad=Edad

        def getEdad(self):
            return Edad


    miObjeto=Persona()
    Nombre="Jose"
    Edad=23
    miObjeto.setNombre(Nombre)
    miObjeto.setEdad(Edad)
    print "Nombre: ",miObjeto.getNombre()
    print "Edad:  ",miObjeto.getEdad()

    5.  Multiplicar un arreglo de números.
    //código Java
    int[] numeros={3,4,5,6,7};
    int i=0;
    for(int i=0;i<numeros.length;i++){
       System.out.println(""+(numeros[i]*3));
    }
    /*salida: 8,12,15, 18, 21

    */

    #código Python
    numeros=[3,4,5,6,7]
    print [3*x for x in numeros]

    '''
    salida:
    [9, 12, 15, 18, 21]
    '''

    6. Horoscopo chino.
    //código Java
    public class HoroscopoChino {

                /**
                 * @param args
                 */
                public static void main(String[] args) {
                            int resto=0;
                            String horos="";
                            String[] nombres={"Pepe","Jose","Tacho","Ana"};
                            int[] anyos={1981,1982,1985,1987};
                            for(int i=0;i<anyos.length;i++){
                                       resto=anyos[i]%2;
                                       switch(resto){
                                       case 0:horos="Mono";break;
                                       case 1:horos="Gallo";break;
                                       case 2:horos="Perro";break;
                                       case 3:horos="Cerdo";break;
                                       case 4:horos="Rata";break;
                                       case 5:horos="Buey";break;
                                       case 6:horos="Tigre";break;
                                       case 7:horos="Conejo";break;
                                       case 8:horos="Dragon";break;
                                       case 9:horos="Serpiente";break;
                                       case 10:horos="Caballo";break;
                                       case 11:horos="Cabra";break;
                                       }
                                       System.out.println(nombres[i]+" nacio en "+anyos[i]+" le corresponde el signo del "+horos);
                            }

                }

    }

    #código Python
    horos=""
    resto=0
    i=0
    nombres=['Juan','Pepe','Ana','Tacho']
    anyos=[1981,1982,1987,1997]
    for i in range(len(anyos)):

        resto=anyos[i] % 2
     
     
        if resto==0:
            horos='Mono'
         

        if resto==1:
            horos='Gallo'
         

        if resto==2:
            horos='Perro'
         

        if resto==3:
            horos='Cerdo'
         

        if resto==4:
            horos='Rata'
         

        if resto==5:
            horos='Buey'
         

        if resto==6:
            horos='Tigre'
         

        if resto==7:
            horos='Conejo'
         

        if resto==8:
            horos='Dragon'
         

        if resto==9:
            horos='Serpiente'
         

        if resto==10:
            horos='Caballo'
         

        if resto==11:
            horos='Cabra'
         

        print nombres[i]," nacio en ",anyos[i]," le corresponde el signo del ",horos



    7. Funciones matemáticas

    //código Java
    import java.util.*;

    int a=9,b=3;
    System.out.println(Math.pow(a,b));

    double c=9.453322;
    System.out.println(Math.round(c));

    double d=112.0;
    System.out.println(Math.sqrt(d));

    double e=45.0;
    System.out.println(Math.sin(e));
    System.out.println(Math.cos(e));
    System.out.println(Math.tan(e));


    #código Python
    from math import *

    a, b=9, 3
    print pow(a,b)

    c=9.453322
    print round(c)

    d=112.0
    print sqrt(d)

    e=45.0
    print sin(e)
    print cos(e)
    print tan(e)

    8. Promedio
    //código Java
    int maximo=6,j=0;
    double calf=0.0,total=0.0,promedio=0.0;
    Scanner teclado=new Scanner(System.in);
    for(j=0;j<maximo;j++){
    System.out.println("Introduce calificación: ");
    calf=teclado.nextDouble();
    total+=calf;
    }
    System.out.println("Total: "+total);
    promedio=total/maximo;
    System.out.println("Promdeio: "+promedio);

    #código Python
    maximo, calf, total, j= 6, 0.0, 0.0, 0
    print "[Segundo programa] -->Calcular promedio<--"
    for j in range(maximo):
      calf=float(raw_input('Introduce calificación: '))
      total+=calf
    print "Total: ",total
    promedio=total/maximo
    print "Promedio: ",promedio

    9. Expresiones

    //código Java
    boolean expresion;
    int a=5,b=10;
    expresion=(a<b) or (b>a);
    System.out.println(“(a<b) or (b>a)  es: ”+expresion);
    expresion=(a==a) ;
    System.out.println(“(a==a) es: ”+expresion);
    expresion=(a<b) and (b<a)
    System.out.println( "(a<b) and (b<a) es: "+expresion);

    #código Python
    a, b=10, 5
    expresion= (a<b) or (b>a)
    print "(a<b) or (b>a) es: ",expresion
    expresion=(a==a)
    print "(a==a) es: ",expresion
    expresion=(a<b) and (b<a)
    print "(a<b) and (b<a) es: ",expresion

    10. Bucles

    //código Java
    int cont=0;
    while(cont<100){
      System.out.println(cont);
      cont++;
      if(cont==50)
         break;
    }

    #código Python
    cont=0
    while cont<100:
        cont+=1
        print cont
        if cont==50:
            break





    martes, 27 de septiembre de 2011

    Python, ejemplos prácticos


    Sitio oficial:   http://www.python.org/
    Sitio en México: http://pythonmexico.org/

    Bueno lo prometido es deuda. He aqui ejemplos de programas en Python.  Espero les sirva.

    1. ¿Cómo imprimir?

    print "Hola usuario"
    
    cadena="Soy buena onda"
    
    print cadena
    

    2. ¿Cómo crear una función?

    def msgSinArgumentos():
      print "Yo no tengo parámetros"
    
    def msgConArgumentos(cad):
       cad="Hola ",cad
       print cad
    

    Ejemplos.
    1. Factorial.py

    '''
    
    Crear una función para calcular el factorial
    
    '''
    
    
    def factorial(x):
    
        if x==0:
    
            return 1
    
        else:
    
            return x * factorial(x -1)
    
    
    #main
    
    numero=0
    
    continuar='n'
    
    print "Factorial de un numero"
    
    
    
    while continuar!='s':
    
        continuar=raw_input('¿Desea realizar el cálculo? Si->s No-n: ')
    
    
    while numero<=0:
    
        numero=int(raw_input('Introduce numero:'))
    
        resultado=factorial(numero)
    
          
    
      
    
    print "El factorial de %d es %d" %(numero,resultado)
    


    2.  Sumatoria.py

    suma, numero, maxi=2, 4, 100
    
    print "Inicio"
    
    print "Sumatoria del 2+..+100"
    
    while (numero<=maxi):
    
        suma=suma+numero
    
        numero=numero+2
    
        print "Suma parcial [",suma,"] no. ",numero," \n"
    
    
    print "Suma total [",suma,"]"
    
    print "Fin"
    

    3. Bucles.py

    from math import*
    
    
    vo=0
    
    vector=[0.25,0.50,0.75,1.0]
    
    print "Inicio"
    
    print "Bucles con vectores"
    
    for i in vector:
    
        vo=vo+pow(i,2)
    
        print "Valor original= ",i," resultado= ",vo
    
    print "Fin"
    

    4. Menu.py

    from math import*
    
    def Funcion_Seno(x):
    
    return cos(x)-x
    
    def Funcion_Coseno(x):
    
    return sin(x)-x
    
    MX=30
    
    resultado=0
    
    contador=0
    
    opcion=0
    
    print "*** [ Funciones matemáticas en Python ] ***"
    
    print"\n\t 1. Calcular función seno 2. Calcular función coseno 3. Salir"
    
    while opcion<=0:
    
    opcion=int(raw_input('Tu opción es:'))
    
    if opcion==1:
    
    print "Elegiste calcular función seno [sin(x)-x]"
    
    while contador<=MX:
    
    contador+=1
    
    resultado=Funcion_Seno(contador)
    
    print "\nValor = ",resultado," posición no. ",contador
    
    elif opcion==2:
    
    print "Elegiste calcular función coseno [cos(x)-x]"
    
    while contador<=MX:
    
    contador+=1
    
    resultado=Funcion_Coseno(contador)
    
    print "\nValor = ",resultado," posición no. ",contador
    
    elif opcion==3:
    
    exit()
    
    else:
    
    print "Opción inválida"
    
    
    print "Bucles con vectores"
    
    for i in vector:
    
        vo=vo+pow(i,2)
    
        print "Valor original= ",i," resultado= ",vo
    
    print "Fin"
    
    5.Area.py

    #ejemplo de POO en Python
    
    
    class Area:
    
    def AsignaBase(self,base):
    
    self.base=base
    
    def AsignaAltura(self, altura):
    
    self.altura=altura
    
    def ObtenerBase(self):
    
    return self.base
    
    def ObtenerAltura(self):
    
    return self.altura
    
    def CalcArea(self):
    
    return self.base*self.altura/2
    
    #main
    
    b, h=0, 0
    
    print "**** [Cálculo del área]****"
    
    MiCalculo=Area()
    
    while b<=0:
    
    b=float(raw_input('Base: '))
    
    while h<=0:
    
    h=float(raw_input('Altura: '))
    
    MiCalculo.AsignaBase(b)
    
    MiCalculo. AsignaAltura(h)
    
    print "Base leida: %f"%MiCalculo.ObtenerBase()
    
    print "Altura leida: %f"%MiCalculo.ObtenerAltura()
    
    print "Área obtenida: %f"%MiCalculo.CalcArea()
    

    6. Uso de while, para alcular la velocidad

    dt,k1,k2,vo,maximo,cont=0.5,9.81,0.2,0,50,0
    
    print "[Obtener velocidad]"
    
    while (cont<maximo):
    
        vo=vo+(k1-(k2*vo))*cont
    
        cont=cont+dt
    
        print "",vo," --> periodo:[",cont,"]"
    

    7. Menú sencillo en Python

    def obtenerFahrenheit(gc):
    
        return (gc*1.8)+32
    
    
    def obtenerCelsius(gf):
    
        return (gf-32)/1.8
    
    
    salir="s"
    
    opc=0
    
    grados=0
    
    
    while salir =="s":
    
    
        print "[Conversor de temperaturas]\n"
    
        print "1. Obtener grados fahrenheit"
    
        print "2. Obtener grados celsius"
    
        while opc<=0:
    
            opc=int(raw_input('Introduce opción:'))
    
    
        if opc==1:
    
            print "[Obtener fahrenheit]\n"
    
            while grados<=0:
    
                grados=float(raw_input('Introduce valor: '))
    
                print grados," celsius leidos"
    
                print "Grados fahrenheit obtenidos: ",obtenerFahrenheit(grados)
    
           
    
    
        if opc==2:
    
            print "[Obtener celsius]\n"
    
            while grados<=0:
    
                grados=float(raw_input('Introduce valor: '))
    
                print grados," fahrenheit leidos"
    
                print "Grados celsius obtenidos: ",obtenerCelsius(grados)
    
           
    
        else:
    
            print "opción no válida"
    
    
       
    
        salir=raw_input('Deseas realizar ota operación? (s/n):')
    
        print ""
    
    
        if salir=="n":
    
            print "adios"
    

    8. Sustituir un número de un arreglo

    '''
    
    sustituir un elemento de un arreglo
    
    '''
    
    
    numeros=[1,2,3,4,5,6,7,8,9,10]
    
    i,sustituto=0,564
    
    
    for i in range(len(numeros)):
    
        if numeros[i]==6:
    
            numeros[i]=sustituto
    
    
        print numeros[i]
    



    Próximo tema: Groovy, ejemplos prácticos

    Jai un lenguaje de programación inspirado en C++

    Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

    Etiquetas

    Archivo del blog