PythonIIParcialProgra3
PythonIIParcialProgra3
PythonIIParcialProgra3
Programación III
¿Qué es Python?
Python es un lenguaje de programación de alto nivel, interpretado, orientado a objetos y de uso
generalizado con semántica dinámica, que se utiliza para la programación de propósito general.
Y aunque puede que conozcas a la pitón como una gran serpiente, el nombre del lenguaje de
programación Python proviene de una vieja serie de comedia de la BBC llamada Monty Python's
Flying Circus.
En el apogeo de su éxito, el equipo de Monty Python estaba realizando sus escenas para audiencias
en vivo en todo el mundo, incluso en el Hollywood Bowl.
Dado que Monty Python es considerado uno de los dos nutrientes fundamentales para un
programador (el otro es la pizza), el creador de Python nombró el lenguaje en honor del programa de
televisión.
No hay muchos idiomas cuyos autores son conocidos por su nombre. Python fue creado por Guido
van Rossum, nacido en 1956 en Haarlem, Países Bajos. Por supuesto, Guido van Rossum no
desarrolló y evolucionó todos los componentes de Python.
La velocidad con la que Python se ha extendido por todo el mundo es el resultado del trabajo continuo
de miles de (muy a menudo anónimos) programadores, evaluadores, usuarios (muchos de ellos no
son especialistas en TI) y entusiastas, pero hay que decir que la primera idea (la semilla de la que
brotó Python) llegó a una cabeza: la de Guido.
▪ Un lenguaje fácil e intuitivo tan poderoso como los de los principales competidores.
Unos 20 años después, está claro que todas estas intenciones se han cumplido. Algunas fuentes
dicen que Python es el lenguaje de programación más popular del mundo, mientras que otros afirman
que es el tercero o el quinto.
Material de Estudio – III BTPI. Programación III
De cualquier manera, todavía ocupa un alto rango en el top ten de la PYPL Popularity of Programming
Language y la TIOBE Programming Community Index.
Python no es una lengua joven. Es maduro y digno de confianza. No es una maravilla de un solo
golpe. Es una estrella brillante en el firmamento de programación, y el tiempo dedicado a aprender
Python es una muy buena inversión.
Hay muchas razones. Ya hemos enumerado algunas de ellas, pero vamos a enumerarlas de una
manera más práctica:
▪ Es fácil de aprender - El tiempo necesario para aprender Python es más corto que
en muchos otros lenguajes; esto significa que es posible comenzar la programación real
más rápido.
▪ Es fácil de utilizar - Para escribir software nuevo; a menudo es posible escribir código
más rápido cuando se usa Python.
▪ En algunos casos puede ser resistente a algunas técnicas de prueba más simples, lo
que puede significar que la depuración del código de Python puede ser más difícil que con
otros lenguajes. Afortunadamente, cometer errores siempre es más difícil en Python.
También debe señalarse que Python no es la única solución de este tipo disponible en el mercado de
TI.
Tiene muchos seguidores, pero hay muchos que prefieren otros lenguajes y ni siquiera consideran
Python para sus proyectos.
Material de Estudio – III BTPI. Programación III
A pesar de la creciente popularidad de Python, todavía hay algunos nichos en los que Python está
ausente o rara vez se ve:
▪ Aplicaciones para dispositivos móviles: este territorio aún está a la espera de ser
conquistado por Python, lo más probable es que suceda algún día. ¿Cómo obtener
Python?
Hay varias formas de obtener tu propia copia de Python 3, dependiendo del sistema operativo que
utilices.
Este será un procedimiento muy simple, pero debería ser suficiente para convencerte de que el
entorno de Python es completo y funcional.
Hay muchas formas de utilizar Python, especialmente si vas a ser un desarrollador de Python.
▪ Una consola en la que puedes iniciar tu código recién escrito y detenerlo por la fuerza
cuando se sale de control.
Además de sus muchos componentes útiles, la instalación estándar de Python 3 contiene una
aplicación muy simple pero extremadamente útil llamada IDLE.
Material de Estudio – III BTPI. Programación III
IDLE es un acrónimo de: Integrated Development and Learning Environment (Desarrollo Integrado y
Funciones en Python
▪ Las funciones en Python, y en cualquier lenguaje de programación, son estructuras esenciales
de código. Una función es un grupo de instrucciones que constituyen una unidad lógica del
programa y resuelven un problema muy concreto.
Una función (en este contexto) es una parte separada del código de computadora el cual es capaz
de:
▪ Causar algún efecto (por ejemplo, enviar texto a la terminal, crear un archivo, dibujar
una imagen, reproducir un sonido, etc.); esto es algo completamente inaudito en el mundo
de las matemáticas.
La función print()
Esta función permite, mostrar o «imprimir», mensajes o texto por pantalla (Consola de comandos).
Para mostrar un mensaje por pantalla en Python, es muy similar a como se haría en otros lenguajes
de programación, así:
print("Curso de Python")
Sin embargo, también podemos hacer uso de print, utilizando comillas simples:
print('Curso de Python')
La función input()
Espera a que el usuario escriba algún texto en el teclado y pulse ENTER. Esta llamada a la función
evalúa a una cadena igual al texto que ingrese el usuario, y la línea de código asigna la variable
miNombre a este valor de cadena.
Cuando utilizamos esta función, una necesidad casi que inmediata, es mostrar valores de variables
que son calculadas en la ejecución del programa, veamos un ejemplo.
nombre="Byspel"
print("Bienvenido a ",nombre)
Material de Estudio – III BTPI. Programación III
Tipos de datos
▪ Numéricos
▪ Enteros
▪ Flotantes
▪ Cadena
▪ string
Conoce los tipos de datos básicos utilizados en Python y todos los demás lenguajes de
programación.
En Python todo es de tipo objeto. Sin embargo, su tratamiento puede variar dependiendo de las
necesidades.
Los 4 tipos de datos que encontramos en Python y en general en otros lenguajes de programación
son:
En Python, para crear números decimales se utiliza el punto para determinar la parte no exacta del
número. No se puede hacer uso de la coma "," porque Python es un lenguaje derivado del idioma
Inglés.
mi_numero = 4.6
print(mi_numero)
Datos de tipo Boolean
Los tipos de dato flotantes pueden tener únicamente dos tipos de valores: "True" o "False". Estos
sirven para agregar atributos a la variable si es verdadero o falso.
Ejemplo:
es_cantante = True
print(es_cantante)
toca_instrumento = False
print(toca_instrumento)
Por ejemplo, como en la aritmética, el signo de + (mas) es un operador el cual es capaz de sumar
dos numeros, dando el resultado de la suma.
Sin embargo, no todos los operadores de Python son tan simples como el signo de mas, veamos
algunos de los operadores disponibles en Python, las reglas que se deben seguir para emplearlos, y
como interpretar las reglas que realizan.
Se comenzará con los operadores que están asociados con las operaciones aritméticas más
conocidas:
+, -, *, /, //, %, **
Ejemplo:
print(14 % 4)
Lista de prioridades
Como eres nuevo a los operadores de Python, no se presenta por ahora una lista completa de las
prioridades de los operadores.
En lugar de ello, se mostrarán solo algunos, y se irán expandiendo conforme se vayan introduciendo
operadores nuevos.
Operadores y paréntesis
▪ Por supuesto, se permite hacer uso de paréntesis, lo cual cambiará el orden natural del
cálculo de la operación.
Material de Estudio – III BTPI. Programación III
Es un nombre que se refiere a un objeto que reside en la memoria. El objeto puede ser de alguno de
los tipos vistos (número o cadena de texto), o alguno de los otros tipos existentes en Python.
Cada variable debe tener un nombre único llamado identificador. Eso es muy de ayuda pensar las
variables como contenedores que contienen data el cual puede ser cambiado después a través de
técnicas de programación.
▪ Las mayúsculas y minúsculas se tratan de forma distinta (un poco diferente que en el
mundo real - Alicia y ALICIA son el mismo nombre, pero en Python son dos nombres de
variable distintos, subsecuentemente, son dos variables diferentes).
▪ El nombre de las variables no puede ser igual a alguna de las palabras reservadas de
Python.
Las condicionales, son un concepto de programación que nos permite dar solución a este tipo de
situaciones. Nos permite evaluar un contexto, una pregunta o un valor, y dependiendo del
cumplimiento de ciertas condiciones, las líneas de código se ejecutan tomando un camino u otro para
lograr el objetivo.
Condicional If
Los condicionales if en Python, son una estructura de control condicional, también llamadas
estructuras selectivas de casos simples (porque solo definen un posible flujo), las cuales nos permiten
tomar cierta decisión al interior de nuestro programa, es decir, nos permiten determinar qué acciones
Material de Estudio – III BTPI. Programación III
ejecutar según cierta. Por ejemplo, determinar si un número cualquiera es mayor que 10 y de acuerdo
a esto mostrar un mensaje (o cualquier acción que sea necesaria).
El código anterior se puede leer de la siguiente manera: Si edad es mayor a 18, imprimir, “Es mayor
de edad”. Sino, imprimir, “Es menor de edad”.
Entonces:
Este ejemplo es casi igual que el anterior, sin embargo, existe una nueva palabra: “elif”. Esta palabra
sirve para evaluar una nueva condición y ejecutar código si se cumple esa condición. Pueden existir
las condiciones “elif” que se deseen. Esta condición se puede leer como: “Si no, Si”.
Material de Estudio – III BTPI. Programación III
Ya conoces el esquema, por lo que ampliar el tamaño del problema no será particularmente complejo.
¿Pero qué sucede si te pedimos que escribas un programa que encuentre el mayor de doscientos
números? ¿Te imaginas el código?
Por ahora ignoraremos los requisitos de la sintaxis de Python e intentaremos analizar el problema sin
pensar en la programación real. En otras palabras, intentaremos escribir el algoritmo, y cuando
estemos contentos con él, lo implementaremos.
En este caso, utilizaremos un tipo de notación que no es un lenguaje de programación real (no se
puede compilar ni ejecutar), pero está formalizado, es conciso y se puede leer. Se llama
pseudocódigo.
Material de Estudio – III BTPI. Programación III
En primer lugar, podemos simplificar el programa si, al comienzo del código, asignamos la variable
numeroMayor con un valor que será más pequeño que cualquiera de los números ingresados.
Usaremos -999999999 para ese propósito.
En segundo lugar, asumimos que nuestro algoritmo no sabrá por adelantado cuántos números se
entregarán al programa. Esperamos que el usuario ingrese todos los números que desee; el algoritmo
funcionará bien con cien y con mil números. ¿Cómo hacemos eso?
Hacemos un trato con el usuario: cuando se ingresa el valor-1, será una señal de que no hay más
datos y que el programa debe finalizar su trabajo.
De lo contrario, si el valor ingresado no es igual a -1, el programa leerá otro número, y así
sucesivamente.
El truco se basa en la suposición de que cualquier parte del código se puede realizar más de una vez,
precisamente, tantas veces como sea necesario.
La ejecución de una determinada parte del código más de una vez se denomina bucle. El significado
de este término es probablemente obvio para ti.
Las líneas 02 a 08 forman un bucle. Los pasaremos tantas veces como sea necesario para revisar
todos los valores ingresados.
¿Puedes usar una estructura similar en un programa escrito en Python? Si, si puedes.
Python a menudo viene con muchas funciones integradas que harán el trabajo por ti. Por ejemplo,
para encontrar el número más grande de todos, puede usar una función incorporada de Python
llamada max(). Puedes usarlo con múltiples argumentos. Analiza el código de abajo:
De la misma manera, puedes usar la función min() para devolver el número más bajo. Puedes
reconstruir el código anterior y experimentar con él en el Sandbox.
Vamos a hablar sobre estas (y muchas otras) funciones pronto. Por el momento, nuestro enfoque se
centrará en la ejecución condicional y los bucles para permitirte ganar más confianza en la
programación y enseñarte las habilidades que te permitirán comprender y aplicar los dos conceptos
en tu codigo. Entonces, por ahora, no estamos tomando atajos.
Agregar la función MIN y hacer que el programa anterior muestre el número menor de los
tres números ingresados.
Bucles en Python
Anteriormente hemos visto el uso del if y el for para modificar el flujo de ejecución del código. A
continuación, vemos otra forma de hacerlo con el while.
While
El uso del while nos permite ejecutar una sección de código repetidas veces, de ahí su nombre.
El código se ejecutará mientras una condición determinada se cumpla. Cuando se deje de cumplir,
se saldrá del bucle y se continuará la ejecución normal. Llamaremos iteración a una ejecución
completa del bloque de código.
Cabe destacar que existe dos tipos de bucles, los que tienen un número de iteraciones no definidas,
y los que tienen un número de iteraciones definidas. El while estaría dentro del primer tipo. Mas
adelante veremos los for, que se engloban en el segundo.
Nota: todas las reglas relacionadas con sangría también se aplican aquí.
while expresión_condicional:
instrucción_uno
Material de Estudio – III BTPI. Programación III
instruccion_dos
instrucción_tres
instrucción_n
▪ Si deseas ejecutar más de una declaración dentro de un while, debes (como con
if) poner sangría a todas las instrucciones de la misma manera.
▪ Si la condición es False (igual a cero) tan pronto como se compruebe por primera
vez, el cuerpo no se ejecuta ni una sola vez (ten en cuenta la analogía de no tener que
hacer nada si no hay nada que hacer).
Bucle for
Los ciclos for (o ciclos para) son una estructura de control cíclica.
Nos permiten ejecutar una o varias líneas de código de forma iterativa (o repetitiva), pero teniendo
cierto control y conocimiento sobre las iteraciones.
En el ciclo for en Python, es necesario tener un valor inicial y un valor final, y opcionalmente podemos
hacer uso del tamaño del "paso" entre cada "giro" o iteración del ciclo.
El for es un tipo de bucle, parecido al while pero con ciertas diferencias. La principal es que el número
de iteraciones de un for está definido de antemano, mientras que en un While no. La diferencia
principal con respecto al while es en la condición. Mientras que en el while la condición era evaluada
en cada iteración para decidir si volver a ejecutar o no el código, en el for no existe tal condición, sino
un iterable que define las veces que se ejecutará el código.
Material de Estudio – III BTPI. Programación III
La sintaxis de un ciclo for es simple en Python. En realidad, en la mayoría de los lenguajes de alto
nivel es incluso muy similar, de hecho, con tan solo tener bien claros los 3 componentes del ciclo for
(inicio, final y tamaño de paso) tenemos prácticamente todo hecho
Como puedes ver, la magia está en la función range() de Python, pues con esta definimos desde
dónde y hasta dónde irá el ciclo, además del tamaño del paso. De hecho, la función range(), solo
necesita como mínimo el límite superior, generando así un rango de números desde cero hasta ese
límite de uno en uno. Finalmente, esta función omite el último valor, de ese modo, el ciclo va de
valor_inicial hasta valor_final - 1 (hay que quitarle uno al valor_final).