domingo, 22 de julio de 2012
Python ... ejemplos prácticos no. 5
5. 1. Ejemplo de clases y objetos:
#defino la clase y sus propiedades
class Heroe:
def __init__(self,nombre,pais,poderes):
self.nombre=nombre
self.pais=pais
self.poderes=poderes
def getNombre(self):
return self.nombre
def getPais(self):
return self.pais
def getPoderes(self):
return self.poderes
#main, defino las instancias
spiderman= Heroe("spiderman","USA",['sentido aracnido','fuerza de araña','super agilidad','trepar muros'])
#spiderman
#imprimo los datos
print type(spiderman)
print "\nHeroe: ",spiderman.getNombre()
print "\nPais: ",spiderman.getPais()
print "\nPoderes: " ## puede ser print "\nPoderes: ",spiderman.getPoderes pero lo muestra como lista
for i in spiderman.getPoderes():
print i
5.2 Horoscopoc chino mejorado:
#ahora uso diccionarios
animales={0:"mono",1:"gallo",2:"perro",3:"cerdo",4:"rata",5:"buey",6:"tigre",7:"conejo",8:"dragon",9:"serpiente",10:"caballo",11:"cabra"}
anyos=[1981,1990,1994,1998,2002,2006,2009,2012]
resto=0
print "\t[Horoscopo chino en Pyhton]"
for i in anyos:
resto=i%12
print "si naciste en: ",i," te correscpone el signo del: ",animales[resto]
5.3 Combinación y Permutación:
def factorial(x):
if (x==0):
return 1
else:
return x * factorial(x-1)
def permutacion(n,r):
menor=0
mayor=0
if(n<r):
menor=n
mayor=r
else:
menor=r
mayor=n
return factorial(mayor)/factorial(mayor-menor)
def combinatorio(n,r):
menor=0
mayor=0
if(n<r):
menor=n
mayor=r
else:
menor=r
mayor=n
return (factorial(mayor)/(factorial(mayor) * factorial(mayor-menor)))
print permutacion(10,9)
print combinatorio(10,9)
Suscribirse a:
Enviar comentarios (Atom)
Composer, un administrador de dependencias para PHP
Composer es un administrador de dependencias para PHP que rastrea las dependencias locales de sus proyectos y bibliotecas. Para ...

-
Progress ABL es un lenguaje de programación vinculado al entorno Progress OpenEdge , su base de datos y las utilidades que lo rodean. Es s...
-
En esta ocasión veremos como crear un archivo CSV a partir del resultado de una consulta en GCP BigQuery. ¿Qué haremos? Crearemos una...
-
En una pasada entrega vimos cómo calcular el biotipo de una persona en Java . Ahora lo haremos usando el lenguaje de programación C. ...
Etiquetas
- .NET
- 100
- abl
- abstract
- abstractas
- ada
- agile
- algoritmos
- alternativa
- android
- angular
- angularjs
- apache
- apex
- api
- appserv
- aprender
- aprender java
- aprender jsf
- aprender python
- aprendizaje
- area
- args
- aserciones
- asm
- asp
- assembly
- assert
- awk
- aws
- ayuda
- azure
- ballerina
- base de datos
- bases de datos
- bash
- bat
- bd
- beam
- bigquery
- biotipo
- bleam
- blockchain
- blog
- bq
- bucket
- bundle
- c
- c#
- c++
- calculo
- case
- celsius
- ceylon
- cgi
- charp
- chatgpt
- cherrypy
- chino
- clases
- cli
- cliente
- clojure
- closures
- cloud
- cmd
- cmd.bat
- coalesce
- cobol
- codeblocks
- codeigniter
- codes
- código
- códigos
- comando
- comandos
- commit
- comparativa
- compartir
- compilador
- compile
- composer
- comprobación
- computación
- computing
- conceptos
- concurnas
- concurrente
- condicionales
- conectividad
- configuration
- consejos
- const
- constantes
- consultas
- contenedores
- contenedores web
- control de versiones
- conversion
- conversor
- convertidor
- cpan
- cplus
- cpp
- crear
- cripto
- criptomoneda
- CrowdStrike
- crystal
- csharp
- cshtml
- css
- css3
- csv
- curso
- d
- dancer2
- datastage
- datos
- deepseek
- delphi
- deploy
- desarrollo
- determinar
- dev c++
- developer
- devops
- días
- directivas
- disparejo
- distribuido
- django
- dlang
- doc
- docker
- document
- documentación
- dotnet
- driver
- dsl
- dylan
- easyphp
- eclipse
- eclipse y scala
- economica
- editor
- ejb
- ejecutar
- ejemplos
- ejemplos cpp
- ejemplos de csharp
- ejemplos de scala
- ejemplos java
- ejemplos python
- ejmeplo
- elixir
- elixir.
- en línea
- encapsulación
- ensamblador
- enum
- erlang
- error
- errores
- es6
- escribir
- esproc
- esprocsqpl
- estructuras
- ethereum
- euler
- excepciones
- expando
- export
- externa
- f#
- faces
- fahrenheit
- feliz año
- fetch
- filosofía
- firebase
- flask
- foreach
- framework
- fsharp
- funcional
- funciones
- functions
- futuro
- gcc
- gcp
- geany
- gem
- gemfile
- generador de proyectos
- genie
- gestor de proyectos
- github
- glassfish
- gleam
- gnu
- go
- golang
- google web toolkit
- gosu
- gradle
- grapes
- graven
- grok
- grooscript
- groovy
- groovyeConsole
- grpc
- gson
- gui
- gwt
- gwtext
- hashmap
- haskell
- haxe
- herencia
- hibernate
- hola
- hola en ceylon
- horoscopo
- HTA
- html
- html5
- http-server
- ia
- iaas
- iac
- ibm
- IDE
- ide scala
- if
- ifnull
- imc
- import
- importar
- ingeniería
- iniciar glassfish
- iniciar tomcat
- inicio
- inicio en ceylon
- IntelliJ IDEA pycharm
- interface
- interfaces
- interfaz
- interna
- interoperabilidad
- interprete
- interview
- inversión de control
- inyección de dependencias
- ionic
- ios
- jabaco
- java
- java swing
- java y ceylon
- JAVA_HOME
- javadoc
- javascript
- javaserver
- jaxb
- jdbc
- jdbi
- jdk
- jdk8
- jpa
- jpql
- jquery
- jre
- jruby
- jscript
- jsf
- jsni
- json
- juego
- julia
- jvm
- jvm y ceylon
- jython
- kanban
- katas
- kate
- koltin
- kotlin
- kubernetes
- la path
- langchain
- laravel
- learn
- lectura
- lenguaje
- lenguaje scala
- lenguajes
- let
- leyes
- libro
- linux
- list
- lista
- listas
- livescript
- llm
- lua
- macro
- major
- mapas
- maven
- maven y eclipse
- mensajes
- menú
- mercurial
- messagebox
- metaClass
- microsoft
- mix
- mobile
- modularidad
- módulo
- mojo
- mojolicious
- mono
- monodevelop
- ms-dos
- mu
- mvc
- mybatis
- mysql
- netbeans
- nexus
- ng
- nicon notify
- nimrod
- node
- nodejs
- notificaciones
- npm
- nube
- nuevo
- nuget
- nullif
- numericas
- ocaml
- ollama
- online
- opendylan
- openedge
- operaciones
- oracel
- oracle
- orientación a objetos
- otp
- paas
- paas iaas
- package
- packages
- padrino
- pascal
- path groovy
- path java
- patrones de diseño
- pdf-parser
- perl
- phoenix
- php
- pl/1
- plot
- plsql
- pom.xml.build.gradle
- poo
- powershell
- pregunta
- problema
- problemas al ejecutar programa en ceylon
- procedimientos
- procedures
- programa
- programacion
- programación
- programador
- programadores
- programar
- programas
- programas java
- programming
- progress
- proyectos maven
- prueba
- pseint
- pulsaciones
- pyramid
- python
- pyzenity
- questions
- r
- rebar3
- record
- recursos
- regex
- regiones
- remix
- repl
- replace
- repositorios
- REST
- reverse
- romanos
- ruby
- run
- rust
- ruta
- saas
- sanic
- sap
- sas
- sbt
- scala
- scripting
- scripts
- scrum
- sdkman
- semántica
- sentencias
- servidor
- shell
- show
- simplej
- sinatra
- sintaxis
- sitios
- slim
- sms
- smslib
- solidity
- solución
- spark
- spl
- spring
- spring framework
- spring-boot
- spyder
- sql
- standard
- storage
- stored
- strawberry
- struts
- style
- svn
- swift
- symfony
- system
- tarot
- tdd
- técnicas
- terminal
- terraform
- the maven integration requires that eclipse be running in a jdk
- tiempo
- tips
- tomcat
- top-down
- tornadoweb
- tratamiento xml
- triggers
- turbogears
- tutoriales
- type
- typescript
- udf
- unsupported
- usar jdk
- uso
- uwamp
- variables
- vba
- vbscript
- ventanas
- verificar
- version
- version_52.0
- versiones
- videojuegos
- vistazo
- visual code
- visual csharp
- visual studio
- vscode
- wampserver
- web
- web2pybottle
- window
- windows
- wisp
- xampp
- xml
- youtube
- zenity
Archivo del blog
-
►
2024
(58)
- ► septiembre (1)
-
►
2023
(12)
- ► septiembre (1)
-
►
2022
(10)
- ► septiembre (1)
-
►
2021
(26)
- ► septiembre (1)
-
►
2020
(9)
- ► septiembre (2)
-
►
2019
(26)
- ► septiembre (3)
-
►
2015
(24)
- ► septiembre (4)
-
►
2014
(36)
- ► septiembre (1)
-
►
2013
(40)
- ► septiembre (5)
Este comentario ha sido eliminado por el autor.
ResponderEliminarmmm... blogger me está haciendo una broma y me duplicó comentario, que eliminé y de del duplicado no quedó ninguno... En fin.
ResponderEliminarSolo para decirte que está muy bien esto que haces de dar el kick-off con otros lenguajes, pero, creo que te la has pasado de Javalero jejeje. Recuerda que en Python todo atributo/propiedad/método definido es público a no ser que le pongas "__" al principio, haciendo que en la clase de Heroe los getters y setters estén de sobra. Si te gusta seguir ese principio de usar getters y setters bien puedes nombrar a los atributos "self.__nombre = nombre", de esa manera necesitarás un método que pueda acceder o escribir dicha propiedad.
Respecto al horóscopo, creo que se pasa de verborrea, ¿para qué definir un diccionario con índice siendo que con un arreglo tendrás los mismos índices?. Y en lugar de definir resto, ¿porqué no lo haces "al vuelo" algo como: "animales[i%2]"?
Y pues ya XP... no lo digo en mal rollo Mister Negativo, lo digo en buen plan y todo, solo para sacar dudas y tratar de ayudar.
Gracias por el comentario.
ResponderEliminar