SlideShare una empresa de Scribd logo
1 de 45
Python + Sugar

  Carlos Mauro Cardenas Fernandez
   http://unimauro.blogspot.com
  http://www.twitter.com/unimauro
       unimauro@gmail.com
if else elif
#001.py
animal=raw_input("Escribe en nombre de un animal de casa: ")
if animal=="perro":
  print 'Es un animal'
elif animal=="gato":
  print 'Es un animal'
elif animal=="canario":
  print "Es un animal"
else
  print "No lo es"
Sentencias de Control Anidadas
accion1="Correr"
accion2="Parar“
if accion1=="Correr":
  if accion2=="Parar":
  print "Avanzo 2 espacios"
  elif:
  print "Sigue avanzando"
else:
  print "Permanece parado"
Comparaciones
>>> 9<7                    
                               <
>>> 9<=9
>>> 9!=10
                           
                               <=
>>> one = [21,22,23]       
                               >
>>> two = ["sol","luna"]
>>> astro ="sol"           
                               >=
>>> astro in two
>>> 's' in astro
                           
                               ==
>>> three = one            
                               !=
>>> one is three
and y or
>>> "perro" < "gato"
>>> num1 = "5"
>>> if num1 > 3 and num1 < 10:
  print " Claro que lo es :D "
>>> num2 = int(raw_input("Nuevo Numero: "))
>>> if num2 > 3 or num2 < 10:
  print " Claro que lo es :D "
  print num2
for and while
Repeticiones o Loop
>>>
>>> b = 1
>>> while b <=10:
  print b
  b +=1
>>> cocina=["olla","sarten","cocina","tazon"]
>>> cocina
>>> for instrumento in cocina:
  print "Yo tengo en mi cocina 1: "+ instrumento
for and while
>>> alumnos={'Alumno1'=19.'Alumno2'=21,'Alumno3'=22}
>>> alumnos
>>> for edad in alumnos:
  print edad
>>> for edad in alumnos:
  print edad, alumnos[edad]
For For
>>> compras=['fugu', 'ramen', 'sake', 'shiitake mushrooms', 'soy
  sauce', 'wasabi']
>>> prices={'fugu':100.0, 'ramen':5.0, 'sake':45.0, 'shiitake
  mushrooms':3.5,➥
'soy sauce':7.50, 'wasabi':10.0}
>>> total=0.00
>>> for item in compras:
... total+= prices[item]
>>> total
Repeticiones infinitas y el Break
>>> while 1:
  name = raw_input("Escribe tu Codigo : ")
  if name == "Quit":
  break
>>> while 1:
       name = raw_input("Escribe tu Codigo : ")
       opcion = raw_input("Para Continuar presione "S" y Salir "N" :
  ")
       if opcion == "S":
          continue
       else:
          break
Funciones por Defecto

    abs                >>> abs(-3)

    help               >>> help([])

    len                >>> len("hello")

    max                >>> max(3, 5)

    min                >>> min(3, 4)

    range              >>> range(1,6)

    round              >>> round(10.2756, 2)
Funciones deb:
>>> def cadena(y):

  return y+'Es una cadena'

>>> print cadena('Hola')

>>> print cadena('Bien')

>>> def cubo(x):

  return math.pow(x,3)

>>> print cubo(10)
Parametros por Defecto
>>> def nombres(nombre, apepa,apema):

 print "%s %s %s" % (nombre, apepa,apema)

>>> def nombres(nombre='NN',
 apepa='NN',apema='NN'):

    print "%s %s %s" % (nombre, apepa,apema)
Enviando Parametros Múltiples
>>> def listas(*algo):
  print algo
>>> listas('frutas')
>>> listas('uva','fresa','piña','mango','pera')
>>> def portafolio(codigo, *cursos):
  print codigo
  print cursos
>>> portafolio('20090001','MA100','MA101','MA102')
Diccionarios como Parametros
>>> def carta(**listado):
  print listado
>>> carta(chifa=7,pollo=9,parrillada=8)
>>> def recibos(tipo,*responsable,**montos):
  print tipo
  print responsable
  print montos
>>> recibos('impuestos', 'sunat', 'municipalidad', igv=19,
  autovaluo=4 )
Tuplas como Parametros
>>> def calificacion(a,b,c):
      if a+b+c="10":
          return 'Buena Nota'
      else:
          return 'desparobado'
>>> puntos=(5,5,0)
>>> calificacion(*puntos)
>>> def familia(**habi):
      print habi
>>> padres={'mama'=45, 'papa'=48}
>>> familia(**padres)
Programación Orientada a Objetos
>>> class clasePython:
  ojos="negros"
  edad="21"
  def thisMethod(self):
  return 'Hey eres tú’
>>> clasePython
>>> claseObject=clasePython()
>>> claseObject.edad
>>> claseObject.ojos
>>> claseObject.thisMethod()
Clases y self
>>> class claseNombre:
     def createNombre(self,name):
        self.name=name
     def displayNombre(self):
        return self.name
     def decir(self):
        print "hola %s" % self.name

>>> primer = claseNombre()          >>> primero.displayNombre()
>>> segundo = claseNombre()         >>> segundo.displayNombre()
>>> primero.createNombre('UNI') >>> primero.decir():
>>>                             >>> segundo.decir():
Sub Clases Y Super Clases
>>> class clasePapa:
     var1="variable 1"
     var2="variable 2"
>>> class claseHijo(clasePapa):
     pass
>>> objPapa=clasePapa()
>>> objPapa.var1
>>> objHijo=claseHijo()
>>> objHijo.var2
Sobre Escribir una Variable
>>> class paremetros:
     var1="Nombre"
     var2="Apellido"
>>> class hijo(parametros):
     var2="Es el Padre"
>>> pob.parametros()
>>> nin=hijo()
>>> pob.var1
>>> pob.var2
>>> nin.var1
>>> nin.var2
Importando Mas Módulos Creados Por Nosotros

#Nueva Ventana
#testmodulos.py
def testmod():
  print "Este es un Test"


En la Terminal
>>> import testmodulos
>>> testmodulos.testmod()
Recargando Módulos
#Nueva Ventana              #Nueva Ventana
#modulomio.py               #modulomio.py
def testmod():              def testmod():
  print "Este es un Test“        print "Este es un NUEVO
En la Terminal                MODULOS“
>>> import modulomio        En la Terminal
>>> holas=                  >>> import modulomio
  modulomio.testmod()       >>> holas=
                              modulomio.testmod()
                            >>> reload(modulomio)
Informacion de los Módulos
>>> import math
>>> math.sqrt(100)
>>> dir(math)
>>> import time
>>> dir(math)
>>> help(math)
>>> math.__doc__
Modulo de datetime
>>> from datetime import datetime
>>> the_time = datetime.now()
>>> the_time.ctime()
Trabajando con Archivos
>>> fob =open('c:/python26/algo.txt','w')

>>> fob.write('Mi primer Archivo')

>>> fob.writelines('Mi primer Archivo')

>>> fob.close()

>>> fob =open('c:/python26/algo.txt','r')

>>> fob.read(2)

>>> fob.read()

>>> fob.close()
Leiendo y Escribiendo
>>> fob =open('c:/python26/leer.txt','r')

>>> print fob.readline()

>>> print fob.readlines()

>>> fob.close()

>>> fob =open('c:/python26/leer.txt','w')

>>> fob.write('Holas AQUIn')
Escribiendo Líneas
>>> fob =open('c:/python26/test.txt','r')

>>> linea = fob.readlines()

>>> linea

>>> fob.close()

>>> linea[2]="Mirando Mirando"

>>> linea
Simulador de Números
import random
random.seed(100)
for roll in xrange(10):
  print random.randint(1, 6)
print "Re-seeded“
random.seed(100)
for roll in xrange(10):
  print random.randint(1, 6)
Juego de Tanques

    Posicion: ¿ Dónde esta el Tanque?

    Direccion: ¿En que dirección se está moviendo?

    Rapidez: ¿ Que tan rápido es?

    Armadura: armadura ¿Cuánto tiene?

    Municion: ¿Cuántos depósitos tiene?

    Mover: Mover el tanque.

    Rotar: Rotar el Tanque izquierda/derecha.

    Fuego: Lanzar un disparo.

    Hit: Esta es la acción cuando un enemigo golpea el tanque.

    Explotar: El tanque sufre una explosión.
#Arhivo tanque.py
class Tanque(object):

  def __init__(self, name):

     self.name = name

     self.vida = True

     self.armadura = 5

     self.municion = 60
#Arhivo tanque.py Continuacion
def __str__(self):
     if self.vida:
        return "%s (%i municion, %i DISPAROS)"%(self.name, self.municion,
  self.armadura)
        #return self.name+" ("+str(self.municion)+" municion,
  "+str(self.armadura)+" DISPARO)"
     else:
        return "%s (MURIO)"%self.name
#Arhivo tanque.py Continuacion
def fuego_en(self, enemigo):



    if self.armadura >= 1:

       self.armadura-= 1

       print self.name, "FUEGO EN", enemigo.name

       enemigo.hit()

    else:

       print self.name, "NO LE DIERON!"
#Arhivo tanque.py Continuacion
def hit(self):


     self.municion-= 20
     print self.name, "LE DIERON"
     if self.municion <= 0:
        self.exploto()


  def exploto(self):


     self.vida = False
     print self.name, "exploto!"
#Arhivo tanquejuego.py
from tanque import Tanque



tanques = { "a":Tanque("Alice"), "b":Tanque("Bob"),
  "c":Tanque("Carol") }

vida_tanques = len(tanques)
#Arhivo tanquejuego.py Continuación
while vida_tanques > 1:
  print
  for tanque_name in sorted( tanques.keys() ):
     print tanque_name, tanques[tanque_name]
  primero = raw_input("Quien Dispara? ").lower()
  segundo = raw_input("A quien? " ).lower()
  try:
     primero_tanque = tanques[primero]
     segundo_tanque = tanques[segundo]
  except KeyError:
     print "No se encontro el tanque!"
     continue
#Arhivo tanquejuego.py Continuación
if not primero_tanque.vida or not segundo_tanque.vida:
  print "Uno de esos tanques murio!"
  continue


print "*"*30


primero_tanque.fuego_en(segundo_tanque)
if not segundo_tanque.vida:
  vida_tanques-= 1


print "*"*30
#Arhivo tanquejuego.py Continuación

for tanque in tanques.values():

  if tanque.vida:

     print tanque.name, "Este Tanque GANO!"

     break
PyGame
pygame.cdrom         pygame.movie
pygame.cursors       pygame.music
pygame.display       pygame.overlay
pygame.draw          pygame Contains
pygame.event         pygame.rect
pygame.font          pygame.sndarray
pygame.image         pygame.sprite
pygame.joystick      pygame.surface
pygame.key           pygame.surfarray
pygame.mixer         pygame.time
pygame.mouse         pygame.transform
Py Game
>>> import pygame

>>> print pygame.ver

if pygame.font is None:

 print “No se encuentra los FONT"

 exit()
#holaPygame.py
#!/usr/bin/env python
back_img_fn = ‘Imagen.jpg‘
mouse_img_fn = ‘mouse.png'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
pygame.display.set_caption(“HOLA A TODOS!")
background = pygame.image.load(back_img_fn).convert()
mouse_cursor = pygame.image.load(mouse_img_fn).convert_alpha()
#Continua holaPygame.py
while True:
  for event in pygame.event.get():
      if event.type == QUIT:
          exit()
  screen.blit(background, (0,0))
  x, y = pygame.mouse.get_pos()
  x-= mouse_cursor.get_width() / 2
  y-= mouse_cursor.get_height() / 2
  screen.blit(mouse_cursor, (x, y))


  pygame.display.update()
Bibliografía

Más contenido relacionado

La actualidad más candente

Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrenteedgar muñoz
 
Novedades en Symfony 2.3
Novedades en Symfony 2.3Novedades en Symfony 2.3
Novedades en Symfony 2.3Javier López
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.jubacalo
 
Informática ii – practica 2
Informática ii – practica 2Informática ii – practica 2
Informática ii – practica 2Alvin Jacobs
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)xavazque2
 
Javascript funcional
Javascript funcionalJavascript funcional
Javascript funcionalLeonardo Soto
 
Máximos Y Mínimos
Máximos Y MínimosMáximos Y Mínimos
Máximos Y Mínimoskevin lopez
 
Maximos y minimos
Maximos y minimosMaximos y minimos
Maximos y minimoskevin lopez
 
28 Php. Arrays Multidimensionales
28 Php. Arrays Multidimensionales28 Php. Arrays Multidimensionales
28 Php. Arrays MultidimensionalesJosé M. Padilla
 
Desarrollo de videojuegos con software libre
Desarrollo de videojuegos con software libreDesarrollo de videojuegos con software libre
Desarrollo de videojuegos con software libreCarlos Zúñiga
 
Ejercisos condicionales
Ejercisos condicionalesEjercisos condicionales
Ejercisos condicionalesJoshe Varillas
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesJoshe Varillas
 
Base datos mysql y visual basic
Base datos mysql y visual basicBase datos mysql y visual basic
Base datos mysql y visual basicRafael Tobar Jame
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 

La actualidad más candente (19)

Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrente
 
Novedades en Symfony 2.3
Novedades en Symfony 2.3Novedades en Symfony 2.3
Novedades en Symfony 2.3
 
Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.Java Applet:::Pelota que rebota en un recinto.
Java Applet:::Pelota que rebota en un recinto.
 
Informática ii – practica 2
Informática ii – practica 2Informática ii – practica 2
Informática ii – practica 2
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)
 
Javascript funcional
Javascript funcionalJavascript funcional
Javascript funcional
 
Máximos Y Mínimos
Máximos Y MínimosMáximos Y Mínimos
Máximos Y Mínimos
 
Maximos y minimos
Maximos y minimosMaximos y minimos
Maximos y minimos
 
28 Php. Arrays Multidimensionales
28 Php. Arrays Multidimensionales28 Php. Arrays Multidimensionales
28 Php. Arrays Multidimensionales
 
Desarrollo de videojuegos con software libre
Desarrollo de videojuegos con software libreDesarrollo de videojuegos con software libre
Desarrollo de videojuegos con software libre
 
Tut2q4
Tut2q4Tut2q4
Tut2q4
 
Ejercisos condicionales
Ejercisos condicionalesEjercisos condicionales
Ejercisos condicionales
 
Temaswing
TemaswingTemaswing
Temaswing
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condiciones
 
Base datos mysql y visual basic
Base datos mysql y visual basicBase datos mysql y visual basic
Base datos mysql y visual basic
 
Tall
TallTall
Tall
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 

Destacado (20)

Test Complet Samsung Galaxy Tab Pro 10.1 4G
Test  Complet Samsung Galaxy Tab Pro 10.1 4GTest  Complet Samsung Galaxy Tab Pro 10.1 4G
Test Complet Samsung Galaxy Tab Pro 10.1 4G
 
Formation : développe la compétence à écrire sans papier
Formation : développe la compétence à écrire sans papierFormation : développe la compétence à écrire sans papier
Formation : développe la compétence à écrire sans papier
 
Yo!
Yo!Yo!
Yo!
 
Kachingle - Plateforme de paiement volontaire: Presentation Paris June 20, 2010
Kachingle - Plateforme de paiement volontaire: Presentation Paris June 20, 2010Kachingle - Plateforme de paiement volontaire: Presentation Paris June 20, 2010
Kachingle - Plateforme de paiement volontaire: Presentation Paris June 20, 2010
 
Computraining replay
Computraining replayComputraining replay
Computraining replay
 
Programme des 2ème rencontres parlementaires pour l'épargne salariale
Programme des 2ème rencontres parlementaires pour l'épargne salarialeProgramme des 2ème rencontres parlementaires pour l'épargne salariale
Programme des 2ème rencontres parlementaires pour l'épargne salariale
 
Sistema de capas
Sistema de capasSistema de capas
Sistema de capas
 
Padecimientos ortopedicos
Padecimientos ortopedicosPadecimientos ortopedicos
Padecimientos ortopedicos
 
Portefeuille Alvarim Babo
Portefeuille Alvarim BaboPortefeuille Alvarim Babo
Portefeuille Alvarim Babo
 
Guia de aprendizaje word
Guia de aprendizaje wordGuia de aprendizaje word
Guia de aprendizaje word
 
Hyperlivre
HyperlivreHyperlivre
Hyperlivre
 
Icosistemas
IcosistemasIcosistemas
Icosistemas
 
Presentationgreeshma
PresentationgreeshmaPresentationgreeshma
Presentationgreeshma
 
Livre sous develop et minabilité
Livre sous develop et minabilitéLivre sous develop et minabilité
Livre sous develop et minabilité
 
Le DRAC
Le DRACLe DRAC
Le DRAC
 
Fantastiques Incas
Fantastiques IncasFantastiques Incas
Fantastiques Incas
 
Croisieurope 2009
Croisieurope 2009Croisieurope 2009
Croisieurope 2009
 
Color
Color Color
Color
 
Programme Jazzycolors 2015
Programme Jazzycolors 2015Programme Jazzycolors 2015
Programme Jazzycolors 2015
 
4o aniversario
4o aniversario4o aniversario
4o aniversario
 

Similar a Python Tercera Sesion de Clases (20)

Python Segunda Sesion de Clases
Python Segunda Sesion de ClasesPython Segunda Sesion de Clases
Python Segunda Sesion de Clases
 
Programacion en python_2
Programacion en python_2Programacion en python_2
Programacion en python_2
 
Python (práctica 4)
Python (práctica 4)Python (práctica 4)
Python (práctica 4)
 
Semana2
Semana2Semana2
Semana2
 
curso_programacion_python3.pdf
curso_programacion_python3.pdfcurso_programacion_python3.pdf
curso_programacion_python3.pdf
 
2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby2 Introducción al lenguaje Ruby
2 Introducción al lenguaje Ruby
 
Workshop Camp México 09 - Introducción a Ruby
Workshop Camp México 09 - Introducción a RubyWorkshop Camp México 09 - Introducción a Ruby
Workshop Camp México 09 - Introducción a Ruby
 
Ruby
RubyRuby
Ruby
 
Gutierres
GutierresGutierres
Gutierres
 
Matlab2009b -clase2
Matlab2009b  -clase2Matlab2009b  -clase2
Matlab2009b -clase2
 
Int_Octave_II_2021.pptx
Int_Octave_II_2021.pptxInt_Octave_II_2021.pptx
Int_Octave_II_2021.pptx
 
Ejercicios Python Parte 2
Ejercicios Python Parte 2Ejercicios Python Parte 2
Ejercicios Python Parte 2
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Ejercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdfEjercicios Python - con soluciones.pdf
Ejercicios Python - con soluciones.pdf
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Ahorcado
AhorcadoAhorcado
Ahorcado
 
Ahorcado
AhorcadoAhorcado
Ahorcado
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 

Más de Carlos Cardenas Fernandez

Inteligencia artificial: Transformando Mercados
Inteligencia artificial: Transformando MercadosInteligencia artificial: Transformando Mercados
Inteligencia artificial: Transformando MercadosCarlos Cardenas Fernandez
 
Sustentacion de Tesis Ingenieria de Usabilidad
Sustentacion de Tesis Ingenieria de UsabilidadSustentacion de Tesis Ingenieria de Usabilidad
Sustentacion de Tesis Ingenieria de UsabilidadCarlos Cardenas Fernandez
 
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01Carlos Cardenas Fernandez
 

Más de Carlos Cardenas Fernandez (20)

SummitData.pdf
SummitData.pdfSummitData.pdf
SummitData.pdf
 
Data_Science_Machine_Learning_Base.pdf
Data_Science_Machine_Learning_Base.pdfData_Science_Machine_Learning_Base.pdf
Data_Science_Machine_Learning_Base.pdf
 
Inteligencia artificial: Estado del Arte
Inteligencia artificial: Estado del ArteInteligencia artificial: Estado del Arte
Inteligencia artificial: Estado del Arte
 
Inteligencia artificial: Transformando Mercados
Inteligencia artificial: Transformando MercadosInteligencia artificial: Transformando Mercados
Inteligencia artificial: Transformando Mercados
 
Google Summer of Code 2018 :: Envuelvete
Google Summer of Code 2018 :: EnvuelveteGoogle Summer of Code 2018 :: Envuelvete
Google Summer of Code 2018 :: Envuelvete
 
Impacto del software libre en la eduacion
Impacto del software libre en la eduacionImpacto del software libre en la eduacion
Impacto del software libre en la eduacion
 
Sustentacion de Tesis Ingenieria de Usabilidad
Sustentacion de Tesis Ingenieria de UsabilidadSustentacion de Tesis Ingenieria de Usabilidad
Sustentacion de Tesis Ingenieria de Usabilidad
 
Taller II Coreis Python 13112009
Taller II Coreis Python 13112009Taller II Coreis Python 13112009
Taller II Coreis Python 13112009
 
Taller I Coreis Python 10112009
Taller I Coreis Python 10112009Taller I Coreis Python 10112009
Taller I Coreis Python 10112009
 
St285 U09 II Clase 11/09/2009
St285 U09 II Clase 11/09/2009St285 U09 II Clase 11/09/2009
St285 U09 II Clase 11/09/2009
 
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01
Clase de Aplicación de Negocios Electrónicos St295 U09 Ii01
 
Integración de Pymes
Integración de PymesIntegración de Pymes
Integración de Pymes
 
ST289U2009I Clase29052009
ST289U2009I Clase29052009ST289U2009I Clase29052009
ST289U2009I Clase29052009
 
Portales Con Adsense
Portales Con AdsensePortales Con Adsense
Portales Con Adsense
 
ST289U2009I Clase22052009
ST289U2009I Clase22052009ST289U2009I Clase22052009
ST289U2009I Clase22052009
 
UNET Integrando a las Pymes
UNET Integrando a las PymesUNET Integrando a las Pymes
UNET Integrando a las Pymes
 
GSOC: POSTNUKE
GSOC: POSTNUKEGSOC: POSTNUKE
GSOC: POSTNUKE
 
PLATAFORMA PARA PYMES ASOCIADAS
PLATAFORMA PARA PYMES ASOCIADASPLATAFORMA PARA PYMES ASOCIADAS
PLATAFORMA PARA PYMES ASOCIADAS
 
Sistemas Electricos Y Electronicos 01
Sistemas Electricos Y Electronicos 01Sistemas Electricos Y Electronicos 01
Sistemas Electricos Y Electronicos 01
 
GSoC en la UNI
GSoC en la UNIGSoC en la UNI
GSoC en la UNI
 

Python Tercera Sesion de Clases

  • 1. Python + Sugar Carlos Mauro Cardenas Fernandez http://unimauro.blogspot.com http://www.twitter.com/unimauro unimauro@gmail.com
  • 2. if else elif #001.py animal=raw_input("Escribe en nombre de un animal de casa: ") if animal=="perro": print 'Es un animal' elif animal=="gato": print 'Es un animal' elif animal=="canario": print "Es un animal" else print "No lo es"
  • 3. Sentencias de Control Anidadas accion1="Correr" accion2="Parar“ if accion1=="Correr": if accion2=="Parar": print "Avanzo 2 espacios" elif: print "Sigue avanzando" else: print "Permanece parado"
  • 4. Comparaciones >>> 9<7  < >>> 9<=9 >>> 9!=10  <= >>> one = [21,22,23]  > >>> two = ["sol","luna"] >>> astro ="sol"  >= >>> astro in two >>> 's' in astro  == >>> three = one  != >>> one is three
  • 5. and y or >>> "perro" < "gato" >>> num1 = "5" >>> if num1 > 3 and num1 < 10: print " Claro que lo es :D " >>> num2 = int(raw_input("Nuevo Numero: ")) >>> if num2 > 3 or num2 < 10: print " Claro que lo es :D " print num2
  • 6. for and while Repeticiones o Loop >>> >>> b = 1 >>> while b <=10: print b b +=1 >>> cocina=["olla","sarten","cocina","tazon"] >>> cocina >>> for instrumento in cocina: print "Yo tengo en mi cocina 1: "+ instrumento
  • 7. for and while >>> alumnos={'Alumno1'=19.'Alumno2'=21,'Alumno3'=22} >>> alumnos >>> for edad in alumnos: print edad >>> for edad in alumnos: print edad, alumnos[edad]
  • 8. For For >>> compras=['fugu', 'ramen', 'sake', 'shiitake mushrooms', 'soy sauce', 'wasabi'] >>> prices={'fugu':100.0, 'ramen':5.0, 'sake':45.0, 'shiitake mushrooms':3.5,➥ 'soy sauce':7.50, 'wasabi':10.0} >>> total=0.00 >>> for item in compras: ... total+= prices[item] >>> total
  • 9. Repeticiones infinitas y el Break >>> while 1: name = raw_input("Escribe tu Codigo : ") if name == "Quit": break >>> while 1: name = raw_input("Escribe tu Codigo : ") opcion = raw_input("Para Continuar presione "S" y Salir "N" : ") if opcion == "S": continue else: break
  • 10. Funciones por Defecto  abs >>> abs(-3)  help >>> help([])  len >>> len("hello")  max >>> max(3, 5)  min >>> min(3, 4)  range >>> range(1,6)  round >>> round(10.2756, 2)
  • 11. Funciones deb: >>> def cadena(y): return y+'Es una cadena' >>> print cadena('Hola') >>> print cadena('Bien') >>> def cubo(x): return math.pow(x,3) >>> print cubo(10)
  • 12. Parametros por Defecto >>> def nombres(nombre, apepa,apema): print "%s %s %s" % (nombre, apepa,apema) >>> def nombres(nombre='NN', apepa='NN',apema='NN'): print "%s %s %s" % (nombre, apepa,apema)
  • 13. Enviando Parametros Múltiples >>> def listas(*algo): print algo >>> listas('frutas') >>> listas('uva','fresa','piña','mango','pera') >>> def portafolio(codigo, *cursos): print codigo print cursos >>> portafolio('20090001','MA100','MA101','MA102')
  • 14. Diccionarios como Parametros >>> def carta(**listado): print listado >>> carta(chifa=7,pollo=9,parrillada=8) >>> def recibos(tipo,*responsable,**montos): print tipo print responsable print montos >>> recibos('impuestos', 'sunat', 'municipalidad', igv=19, autovaluo=4 )
  • 15. Tuplas como Parametros >>> def calificacion(a,b,c): if a+b+c="10": return 'Buena Nota' else: return 'desparobado' >>> puntos=(5,5,0) >>> calificacion(*puntos) >>> def familia(**habi): print habi >>> padres={'mama'=45, 'papa'=48} >>> familia(**padres)
  • 16. Programación Orientada a Objetos >>> class clasePython: ojos="negros" edad="21" def thisMethod(self): return 'Hey eres tú’ >>> clasePython >>> claseObject=clasePython() >>> claseObject.edad >>> claseObject.ojos >>> claseObject.thisMethod()
  • 17. Clases y self >>> class claseNombre: def createNombre(self,name): self.name=name def displayNombre(self): return self.name def decir(self): print "hola %s" % self.name >>> primer = claseNombre() >>> primero.displayNombre() >>> segundo = claseNombre() >>> segundo.displayNombre() >>> primero.createNombre('UNI') >>> primero.decir(): >>> >>> segundo.decir():
  • 18. Sub Clases Y Super Clases >>> class clasePapa: var1="variable 1" var2="variable 2" >>> class claseHijo(clasePapa): pass >>> objPapa=clasePapa() >>> objPapa.var1 >>> objHijo=claseHijo() >>> objHijo.var2
  • 19. Sobre Escribir una Variable >>> class paremetros: var1="Nombre" var2="Apellido" >>> class hijo(parametros): var2="Es el Padre" >>> pob.parametros() >>> nin=hijo() >>> pob.var1 >>> pob.var2 >>> nin.var1 >>> nin.var2
  • 20. Importando Mas Módulos Creados Por Nosotros #Nueva Ventana #testmodulos.py def testmod(): print "Este es un Test" En la Terminal >>> import testmodulos >>> testmodulos.testmod()
  • 21. Recargando Módulos #Nueva Ventana #Nueva Ventana #modulomio.py #modulomio.py def testmod(): def testmod(): print "Este es un Test“ print "Este es un NUEVO En la Terminal MODULOS“ >>> import modulomio En la Terminal >>> holas= >>> import modulomio modulomio.testmod() >>> holas= modulomio.testmod() >>> reload(modulomio)
  • 22. Informacion de los Módulos >>> import math >>> math.sqrt(100) >>> dir(math) >>> import time >>> dir(math) >>> help(math) >>> math.__doc__
  • 23. Modulo de datetime >>> from datetime import datetime >>> the_time = datetime.now() >>> the_time.ctime()
  • 24. Trabajando con Archivos >>> fob =open('c:/python26/algo.txt','w') >>> fob.write('Mi primer Archivo') >>> fob.writelines('Mi primer Archivo') >>> fob.close() >>> fob =open('c:/python26/algo.txt','r') >>> fob.read(2) >>> fob.read() >>> fob.close()
  • 25. Leiendo y Escribiendo >>> fob =open('c:/python26/leer.txt','r') >>> print fob.readline() >>> print fob.readlines() >>> fob.close() >>> fob =open('c:/python26/leer.txt','w') >>> fob.write('Holas AQUIn')
  • 26. Escribiendo Líneas >>> fob =open('c:/python26/test.txt','r') >>> linea = fob.readlines() >>> linea >>> fob.close() >>> linea[2]="Mirando Mirando" >>> linea
  • 27. Simulador de Números import random random.seed(100) for roll in xrange(10): print random.randint(1, 6) print "Re-seeded“ random.seed(100) for roll in xrange(10): print random.randint(1, 6)
  • 28. Juego de Tanques  Posicion: ¿ Dónde esta el Tanque?  Direccion: ¿En que dirección se está moviendo?  Rapidez: ¿ Que tan rápido es?  Armadura: armadura ¿Cuánto tiene?  Municion: ¿Cuántos depósitos tiene?  Mover: Mover el tanque.  Rotar: Rotar el Tanque izquierda/derecha.  Fuego: Lanzar un disparo.  Hit: Esta es la acción cuando un enemigo golpea el tanque.  Explotar: El tanque sufre una explosión.
  • 29. #Arhivo tanque.py class Tanque(object): def __init__(self, name): self.name = name self.vida = True self.armadura = 5 self.municion = 60
  • 30. #Arhivo tanque.py Continuacion def __str__(self): if self.vida: return "%s (%i municion, %i DISPAROS)"%(self.name, self.municion, self.armadura) #return self.name+" ("+str(self.municion)+" municion, "+str(self.armadura)+" DISPARO)" else: return "%s (MURIO)"%self.name
  • 31. #Arhivo tanque.py Continuacion def fuego_en(self, enemigo): if self.armadura >= 1: self.armadura-= 1 print self.name, "FUEGO EN", enemigo.name enemigo.hit() else: print self.name, "NO LE DIERON!"
  • 32. #Arhivo tanque.py Continuacion def hit(self): self.municion-= 20 print self.name, "LE DIERON" if self.municion <= 0: self.exploto() def exploto(self): self.vida = False print self.name, "exploto!"
  • 33. #Arhivo tanquejuego.py from tanque import Tanque tanques = { "a":Tanque("Alice"), "b":Tanque("Bob"), "c":Tanque("Carol") } vida_tanques = len(tanques)
  • 34. #Arhivo tanquejuego.py Continuación while vida_tanques > 1: print for tanque_name in sorted( tanques.keys() ): print tanque_name, tanques[tanque_name] primero = raw_input("Quien Dispara? ").lower() segundo = raw_input("A quien? " ).lower() try: primero_tanque = tanques[primero] segundo_tanque = tanques[segundo] except KeyError: print "No se encontro el tanque!" continue
  • 35. #Arhivo tanquejuego.py Continuación if not primero_tanque.vida or not segundo_tanque.vida: print "Uno de esos tanques murio!" continue print "*"*30 primero_tanque.fuego_en(segundo_tanque) if not segundo_tanque.vida: vida_tanques-= 1 print "*"*30
  • 36. #Arhivo tanquejuego.py Continuación for tanque in tanques.values(): if tanque.vida: print tanque.name, "Este Tanque GANO!" break
  • 37. PyGame pygame.cdrom pygame.movie pygame.cursors pygame.music pygame.display pygame.overlay pygame.draw pygame Contains pygame.event pygame.rect pygame.font pygame.sndarray pygame.image pygame.sprite pygame.joystick pygame.surface pygame.key pygame.surfarray pygame.mixer pygame.time pygame.mouse pygame.transform
  • 38.
  • 39. Py Game >>> import pygame >>> print pygame.ver if pygame.font is None: print “No se encuentra los FONT" exit()
  • 40. #holaPygame.py #!/usr/bin/env python back_img_fn = ‘Imagen.jpg‘ mouse_img_fn = ‘mouse.png' import pygame from pygame.locals import * from sys import exit pygame.init() screen = pygame.display.set_mode((640, 480), 0, 32) pygame.display.set_caption(“HOLA A TODOS!") background = pygame.image.load(back_img_fn).convert() mouse_cursor = pygame.image.load(mouse_img_fn).convert_alpha()
  • 41. #Continua holaPygame.py while True: for event in pygame.event.get(): if event.type == QUIT: exit() screen.blit(background, (0,0)) x, y = pygame.mouse.get_pos() x-= mouse_cursor.get_width() / 2 y-= mouse_cursor.get_height() / 2 screen.blit(mouse_cursor, (x, y)) pygame.display.update()
  • 42.
  • 43.
  • 44.