Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/04/2014, 00:48
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Funciones en tiempo de ejecución

Hola kimizombie!

Para hacer lo que necesitás, debés usar herencias, ya sea con funciones o clases y funciones, lo mejor serían las clases porque son más completas y estructuradas, pero si es algo simple lo que querés hacer, estaría bien una o varias funciones.

Aquí te dejo un código que hice que hace justamente lo que pedís.

Crea un archivo del nombre que desees en formato .py
Crea un archivo en formato .py con el nombre Contador
Dentro del archivo que creaste en el primer paso insertá estas líneas de código:


Código Python:
Ver original
  1. # -*- coding: utf-8 -*-
  2.  
  3. import Contador # Importamos la libreria Contador
  4.  
  5. Texto = raw_input("Escribi una frase: ") # Guardamos en la variable Texto la frase que escribio el usuario
  6. print # Dejamos un salto de linea
  7. Contador.Caracteres(Texto) # Llamamos a la libreria Contador y a la funcion Caracteres, pasamos la variable Texto como argumento y esperamos que la libreria nos retorne los valores que le hemos heredado.
  8. print # Dejamos otro salto de linea
  9. print ("Tu frase tiene %d caracteres" % len(Texto)) # Imprimimos en pantalla la cantidad de caracteres que tiene la frase anteriormente ingresada (se cuentan los espacios).
  10.  
  11. raw_input()
# Detiene la ejecucion del programa, esperando una respuesta del usuario (esto se usa muchas veces para que la consola no se cierre, en este caso hacemos ese uso).

Dentro del librería Contador debés ingresar estas líneas de código:

Código Python:
Ver original
  1. def Caracteres(Cadena): # Funcion Caracteres con el argumento Cadena que le hemos heredado de la variable Texto. Nota: El nombre del argumento en esta funcion puede ser cualquiera.
  2.     for Num, Cadena2 in enumerate(Cadena): # Almacenamos un numero en la variable Num, en Cadena2 estara un caracter de la X frase, mientras el bucle vaya repitiendo, el valor de Num se ira incrementando y la variable Cadena2 guardara los caracteres de la frase que escribio el usuario.
  3.         print Num, Cadena2
# Aqui retornamos imprimiendo los valores de las variables Num y Cadena2.

Debés ejecutar el programa que tiene el nombre del paso 1 que asignaste, no el contador, ya que el contador es una librería.
Cuando ejecutés el programa, se generará un archivo en formato .pyc que es una compilación de la librería Contador.
Aquí tienes la respuesta de porque se genera ese archivo bytecode:

Python tiene, no obstante, muchas de las características de los lenguajes compilados, por lo que se podría decir que es semi interpretado. En Python, como en Java y muchos otros lenguajes, el código fuente se traduce a un pseudo código máquina intermedio llamado bytecode la primera vez que se ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se ejecutarán en sucesivas ocasiones.
Fuente extraída del manual Python para todos.

El archivo Contador.py debe estar en la misma carpeta/directorio donde estará el programa que creaste en el paso 1.

Aquí te dejo una muestra de como funciona:

Escribi una frase: hola amigos como estan

0 h
1 o
2 l
3 a
4
5 a
6 m
7 i
8 g
9 o
10 s
11
12 c
13 o
14 m
15 o
16
17 e
18 s
19 t
20 a
21 n

Tu frase tiene 22 caracteres


El código que te dejé de ejemplo es simple, por lo que se podría complicar más, todo depende de cuanto sepás y para que lo necesités.

Espero haberte ayudado.
Que andés bien!! Suerte!!!