Sesion 2
Sesion 2
Este documento forma parte del curso Programación con Python del CEFIRE CTEM.
ÍNDICE
1.- Introducción
Página 2
Programación en Python - Sesión 2: Introducción al Lenguaje Python
1.- Introducción
En este punto vamos a introducir cuales son las características generales del
lenguaje python.
Python es un lenguaje de programación que fué creado por Guido van Rossum, a
finales de los ochenta. Debido a sus características su uso se ha extendido de forma
considerable, llegando a ser muy conocido y utilizado en la actualidad.
- Open Source, por lo cual ha sido modificado para que pueda funcionar en diversas
plataformas (Linux, Windows, Macintosh, Solaris, etc.)
- Sintaxis Identada de caracter obligatorio, esto hace que sea muy visual. Esto quiere
decir que para separar los bloques de código en Python, se debe tabular hacia la derecha
o hacia adentro, de manera que todas las instrucciones que pertenezcan al mismo bloque
de código, tendrán el mismo nivel de tabulación o identación. Esto facilita que todos los
programadores adopten las mismas notaciones y por tanto los programas hechos en
Python van a tener un aspecto muy similar
Página 3
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Las imágenes que aparecen a continuación, pueden aclarar mejor este concepto.
Página 4
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Página 5
Programación en Python - Sesión 2: Introducción al Lenguaje Python
En este tipo de lenguajes de programación, una vez que eliminamos los errores, ya no
se vuelve a realizar el proceso de compilación o traducción, de manera que podemos
ejecutar tantas veces como queramos el programa que no se va realizar la
compilación, sino que directamente el código binario (programa objeto) se carga a la
memoria y se inicia la ejecución.
Como deventajas de los lenguajes interpretados podemos decir que son más lentos
puesto que en cierto modo, cada vez que se ejecutan necesitan traducirse, mientras
que como ventajas diremos que son más portables puesto que como no están
compilados, no se genera ningún programa objeto que dependa de las
características de la arquitectura hardware o del sistema operativo. En cambio, solo
tenemos que copiar el código de un programa Python en cualquier otro sistema y
funcionará igualmente.
En cualquier caso, si por cualquier motivo quiisiéramos instalarlo, podemos hacerlo desde
Página 6
Programación en Python - Sesión 2: Introducción al Lenguaje Python
En windows por defecto no viene instalado, pero podemos instalarlo, para lo cual tenemos
que descargár el fichero python-3.7.2-amd64.exe (Windows x86-64 executable installer)
en el enlace https://www.python.org/downloads/release/python-372/, el cual se
encuentra colgado en el apartado de recursos de la Sesión 2.
Como ya hemos comentado Lliurex trae instaladas tanto la versión 2 como la 3 de python,
de manera que la pregunta es, si queremos ejecutar un programa python: ¿ cual versión
de python se ejecuta por defecto, la 2 o la 3 ?. La respuesta, es que si en un consola de
sistema tecleamos:
$ which python
nos saldrá /usr/bin/python, bien pues este es el python que se ejecutará por defecto
cuando en la consola tecleemos: python nombre_programa.py
De manera que si hacemos un ls del directorio /usr/bin, nos saldrá algo parecido a lo que
figura en la siguiente imagen:
Página 7
Programación en Python - Sesión 2: Introducción al Lenguaje Python
$ python -V
también nos informará el sistema de la versión de python que estamos utilizando por
defecto, que en nuestro caso será la 2.7.12.
Comentar que Python es un lenguaje interactivo, esto significa que cuenta con un
intérprete por línea de comandos en el que se pueden introducir las setencias sueltas y
ejecutarlas directamente sin necesidad de realizar un programa completo. Es decir, cada
sentencia o grupo de sentencias que implican una visualización por pantalla, se van
a poder ejecutar y producirán unos resultados visibles. Esto puede ayudarnos a
entender mejor el lenguaje y probar los resultados de la ejecución de pequeñas porciones
de código, rápidamente sin necesidad de realizar ningún programa completo.
Para acceder al interprete, nos abrimos una consola y tecleamos:
$ python3.5
En el intérprete podemos ver el símbolo '>>>' que representa el prompt, el cual nos
Página 8
Programación en Python - Sesión 2: Introducción al Lenguaje Python
indica que está esperando una instrucción para poder ejecutarla. Por ejemplo si
tecleamos:
print("Hola Mundo")
Podemos apreciar que el error consiste en que no hemos cerrado la cadena Hola Mundo
con las dobles comillas, es decir, debería quedar:
Para salir del intérprete, tecleamos quit() y damos al intro o bien pulsamos Ctrl+D.
Evidentemente este Entorno de Trabajo es bastante incómodo y muy rudimentario, como
primera alternativa podemos utilizar el IDLE, o Entorno Integrado de Desarrollo de
Python, que en Lliurex no se encuentra instalado. Para instarlo vamos al Gestor de
Paquetes Synaptic y buscamos el paquete idle3, la entrada que nos aparece la
marcamos para instalar y pinchamos en el botón Aplicar para instalarlo.
Página 9
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Tras la instalación, vemos que en el menú ha aparecido una nueva entrada con el
nombre Desarrollo, tal y como podemos ver en la siguiente imagen:
Podemos utilizar cualquiera de las 2 opciones: IDLE3 o IDLE (using python 3.5).
Cuando entramos al IDLE el aspecto que presenta es el siguiente:
Es decir muy similar al que veíamos antes, lo que ocurre es que se encuentra dentro de
una ventana gráfica.
Página 10
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Vemos que aparece un programa muy simple que suma 2 números con el nombre
prueba.py.
Una vez que tenemos escrito el programa, para ejecutarlo vamos a la opción de menú
Run / Run Module o bien pulsamos la tecla F5. La ejecución del mismo aparecerá en la
ventana del intérprete, tal y como podemos ver:
Página 11
Programación en Python - Sesión 2: Introducción al Lenguaje Python
En lugar de trabajar con el IDLE de Python, podemos utilizar cualquier editor como el
Pluma, el Vim, el nano, etc. Por ejemplo el Pluma se encuentra accesible a través del
menú Accesorios / Pluma. Escribiremos el código de los programas en este editor, pero el
inconveniente es que para ejecutar el programa una vez que lo hemos hecho y lo
queremos probar, tenemos que abrir un terminal de sistema y teclear lo siguiente:
python3 nombre_programa.py
Los elementos del lenguaje se separan por espacios en blanco y en principio da igual los
que empleemos, ejemplo:
c= a + b
Merece recordar especialmente que EL NÚMERO DE ESPACIOS AL PRINCIPIO DE
UNA LÍNEA SI QUE SON SIGNIFICATIVOS, PUESTO QUE DEFINEN EL NIVEL DE
AGRUPAMIENTO. Por ejemplo si tenemos al principio de un programa la siguiente
asignación:
>>> dato = 0
Página 12
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Palabras Reservadas
El núcleo del lenguaje python cuenta con una serie de palabras reservadas que no
pueden utilizarse para nombrar otros elementos como variables, funciones, etc.
Página 13
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Operadores Aritméticos
Python cuenta con los operadores aritméticos tradicionales, en la siguiente lista se
muestran algunos:
+ => suma, - => resta, * => multiplicación, / => división, % => módulo, resto de la
división, // => división con redondeo, el resultado se redondea hacia abajo, ** =>
exponencial o potencia. Ejemplos:
division_entera = numero1 // numero2
resto = numero1 % numero2
potencia = base ** exponente
Operadores Relacionales
Los operadores relacionales coinciden prácticamente con el de la mayoría de lenguajes
de programación, tenemos los siguientes:
== evalúa si los 2 operandos son iguales
!= determina si los 2 operandos son distintos
<> es equivalente al anterior
< menor
<= menor o igual
> mayor
>= mayor o igual
Ejemplos:
if numero1 == numero2:
if a != b:
if dato1 <= dato2
Hay que poner especial atención en el operador de igualdad ==, puesto que muchas
veces es fácil confundirnos y utilizar un sólo =, es decir:
if a = b: en lugar de if a == b:
Página 14
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Operador de Asignación
Ejemplos
dato = 10
resultado = dato1 * dato2
También los operadores += y -=, los cuales los explicaremos con ejemplo.
a += 10
a -= 10
Identificadores
Los identificadores son las palabras que se utilizan para nombrar elementos creados
en un programa, como pueden ser variables y funciones. Los identificadores están
formados por letras (mayúsculas y minúsculas), números y el carácter guión bajo
(_). Aunque se pueden emplear carácteres UNICODE, sin embaro se recomienda
utilizar caracteres ASCII. Además, el primer caracter del identificador debe ser una letra.
Funciones integradas
A estas funciones se les suele llamar built-in functions y Python incluye las siguientes
funciones de forma predeterminada, tal y como podemos ver en la siguiente página.
Página 15
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Finalmente comentar un par de detalles, python emplea los : para determinar el inicio de
un nivel de agrupamiento o bloque, en las estructura condicionales, repetitivas y en la
definición de funciones.
Ejemplos:
...
Página 16
Programación en Python - Sesión 2: Introducción al Lenguaje Python
...
def calcula_resultado:
...
Así, como otros lenguajes como C, PHP, etc, cuentan con elementos en el lenguaje
para representar la estructura condicional de selección múltiple como el switch o el
case, python no dispone de estas estructuras, en lugar de eso emplea la estructura
que se muestra a continuación:
if …
...
elif ...
…
elif ...
…
[else]
Ejemplo:
Si letra == ‘A’:
…
elif letra == ‘B’:
…
elif letra == ‘C’:
…
else:
…
Página 17
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Ejemplos:
…
dato = 10 + 2
letra = ‘A’
radio = 5.16
…
En este ejemplo la variable dato almacenará números enteros, la variable letra caracteres
y radio números decimales o reales.
Los lenguajes que requieren definir los tipos de las variables se denominan lenguajes
tipificados y los que no se denominan lenguajes no tipificados, como es el caso del
python. Aunque a partir de la versión 3.5 de Python, se ha introducido la posibilidad de
indicar los tipos de datos, de los argumentos de las funciones y de los valores devueltos.
El tratamiento que tiene python a la hora de considerar las variables difiere un poco al
resto de lenguajes, puesto que como es un lenguaje orientado a objetos, en lugar de
entenderse como “cajas” en las que se almacenan datos, en Python las variables
son "etiquetas" que permiten hacer referencia a los datos, los cuales se guardan en
unas "cajas" llamadas objetos. Bien, no vamos a entrar en más diquisiciones y detalles
sobre el tratamiento interno de las variables en python, porque tampoco es el objetivo del
curso. Por tanto, nosotros las trataremos como variables normales y corrientes.
Página 18
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Definición de Variables
De lo comentado anteriormente, podemos deducir como se define una variable, pero
bueno de todas formas lo vamos a expresar de forma explícita. En python las variables
se crean cuando se definen por primera vez asinándoles un valor con el operador
de asignación =.
Ejemplos:
x = 2.5
nombre = "Pepito Pérez"
a = 10
Hay que tener cuidado con acceder a consultar el valor de una variable cuando esta no ha
sido definida, ya que como no existe para python, esto provocará un error, tal y como
podemos ver a continuación:
También hay que tener cuidado con las mayúsculas y minúsculas en los nombres de
las variables, puesto que como podemos ver en el ejemplo de la siguiente página,
Nombre , nombre y NOMBRE son variables distintas.
Página 19
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Una característica que presenta el IDLE en relación a las variables, es que para que éste
visualice el valor de una variable, basta con escribir su nombre.
Tipos de Datos
Los tipos de datos que existen en python se pueden clasificar en simples y
estructurados, en cuanto a los simples ya hemos ido haciendo referencia a ellos a lo
largo de la documentación de esta sesión y son los que nos permiten asignar un único
valor a una variable. Mientras que los estructurados, cuentan con una estructura
que permite asignar un conjunto de valores a una única variable. Es decir, utilizando
una única variable, vamos a poder tener acceso a múltiples valores.
Página 20
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Datos Enteros
a=5
b = a * 10
Datos Decimales
dato1 = 5.45
Tipos de Datos Simples dato2 = dato1 * 10.5
Cadenas de Texto
nombre1 = “Pepito”
nombre2 = “Juan”
Booleanos
cierto = True
falso = False
If cierto:
print(“El dato es cierto”)
Las cadenas de texto tienen su operaciones específicas que se pueden realizar sobre
las variables que son de este tipo, entraremos en detalle sobre estas operaciones en
el Anexo II.
El tipo de datos booleano solo puede tomar 2 valores True (cierto) y False (falso),
realmente se puede considerar como un subtipo de los enteros, puesto que el valor True
está asignado al 1 y el False al 0.
Página 21
Programación en Python - Sesión 2: Introducción al Lenguaje Python
A continuación, podemos ver los tipos de datos estructurados que existen en Python:
Listas
bebida = [‘refresco’,‘zumo’,’cafe’]
Diccionarios
diccionario = {'nombre' : 'Antonio',
'edad' : 18, ‘cursos’:[‘Inglés’,
’Programación’] }
De los 3 tipos de datos estructurados o compuestos, nosotros vamos a trabajar con las
Listas y los Diccionarios, puesto que dadas las características del curso, sería
demasiado extenso ver los 3 tipos. Las listas son variables que contienen un conjunto
de elementos ordenados, son muy versátiles porque no es necesario que todos los
elementos sean del mismo tipo, es decir pueden haber datos numéricos tanto enteros
como con decimales, cadenas de texto, booleanos, etc.
En el siguiente ejemplo, podemos comprobar como la lista lista_elementos, esta
formada por 2 cadenas, un número entero y otro decimal.
lista_elementos = [‘pan’, ‘huevos’, 100, 12.4]
Página 22
Programación en Python - Sesión 2: Introducción al Lenguaje Python
print(“Hola”)
print(“Hola”,”Adiós”)
print(“El resultado es: ”,resultado)
print(‘Hola de nuevo’)
La función print() admite más de un argumento, para poder separar los argumentos
print("Hola", end="")
print("Adios")
La salida será:
HolaAdios
La función print() muestra los argumentos separados por espacios, lo que a veces puede
resultar no del todo conveniente. En el ejemplo siguiente el signo de interrogación se
muestra separado de la palabra Juan.
cadena = "Juan"
print("¿Estas ahí", cadena, "?")
Página 23
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Salida:
Para eliminar el espacio en blanco antes del interrogante, se puede reducir el número
de argumentos, concatenando texto y variables con el operador suma (+), según
podemos ver a continuación:
cadena = "Juan"
print("¿Estas ahí", cadena + "?")
Entrada
La función input() es la que utilizaremos para leer datos del teclado. Cuando el flujo
del programa llega a esta función, el programa se detiene esperando que el usuario
escriba algo y se pulse la tecla Intro.
print("¿Cual es tu nombre?")
nombre = input()
print("Encantado de conocerte,", nombre)
Salida:
Página 24
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Conversión de Tipos
Vamos a ver funciones para convertir una cadena a un entero (int), una cadena a un
decimal o real (float) y un número a una cadena (str). Estas 3 funciones nos pueden ser
de utilidad cuando utilizamos la funciones de entrada/salida.
Por defecto, la función input() convierte la entrada de datos en una cadena. Por tanto, si
queremos que Python interprete la entrada como un número entero, se debemos utilizar la
función int() de la siguiente modo:
Página 25
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Algo parecido pasaría, cuando el usuario introduce un dato decimal y la función int()
intenta realizar la conversión.
La solución a este tipo de problemas escapa un poco al objetivo de este curso, por tanto
no lo vamos a ver. En cualquier caso, podemos introducir una método isdigit() que se
aplica a cadenas, el cual nos puede ser de utilidad cuando tenemos que introducir datos
numércos. Este método devuelve True cuando todos caracteres de la cadena son
numéricos y False en caso contrario, es decir cuando hay algún componentes que nos
es numérico. A continuación podemos ver un ejemplo:
cadena1 = "12345"
cadena2 = "12345 abc"
print (cadena1.isdigit())
print (cadena2.isdigit())
Salida:
True
False
dato_numerico = False
while not dato_numerico:
dato = input("Introduce un dato numérico ")
if (not dato.isdigit()):
print("Error – El dato contiene caracteres no numéricos")
else:
dato_numerico = True
Página 26
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Otro métodos que también nos pueden ayudar en relación con la cadenas son el upper()
y lower(). El primero convierte los carácteres a mayúsculas y el segundo a minúsculas.
A continuación, vemos un ejemplo con el método upper().
La función str(), permite convertir un número a una cadena, lo cual nos puede ser útil
cuando queremos por ejemplo visualizar un texto y un número.
Ejemplo:
Página 27
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Para calcular la raíz cuadrada tenemos que utilizar la función sqrt que se encuentra
en la librería math, para lo cual al principio del programa tendremos que hacer un
import de esta librería y después utilizar la función sqrt, de la siguiente manera:
import math
…
hipotenusa = math.sqrt(…)
...
if condicion:
Instruccion 1
Instrucción 2
…
Instrucción n
else:
Instrucción A;
Instrucción B;
Bloque Opcional
...
Instrucción N
Recordemos que todas las instrucciones, tanto del bloque del if como del else,
deben de tener el mismo sangrado. Para formar la condición, se empleará una
estructura, con tiene la siguiente composición:
Página 28
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Ejemplos:
También hay que recordar y resaltar los dos puntos :, con los que se delimita tanto el
inicio del bloque del if como del else.
Habrá que tener en cuenta el caso en el que los 2 números sean iguales.
Operadores Lógicos
Hasta ahora las condiciones que hemos visto en las estructuras condicionales, eran
simples, es decir estaban formadas por una pregunta con un único término. Los
operadores lógicos OR y AND nos permiten construir condiciones compuestas, cuyas
preguntas están formadas por más de un término. A estos 2 operadores hay que
sumarle el NOT.
En lugar de tener una sola condición, vamos a poder tener varias subcondiciones,
unidas por un operador lógico.
Página 29
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Cuando tenemos varias subcondiciones, cada una de ellas nos dará un resultado cierto ó
falso a la pregunta que se plantea.
Ejemplos:
Evidentemente, cada una de las subcondiciones, estará formada por la misma estructura
con la que formábamos las condiciones:
Subcondición
Página 30
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Cierto Falso
Cierto Falso
El operador lógico NOT se antepone a una condición, e invierte el valor devuelto por
la misma, de manera que por ejemplo en un If, se ejecutará el bloque de código asociado
al If cuando la respuesta a la pregunta de la condición sea falsa.
Ejemplo:
if not x1>x2:
Página 31
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Página 32
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Ejemplo:
...
if edad < 0:
print(“Edad no permitida”)
elif edad < 18:
print(“Menor de Edad”)
else:
print(“Mayor de Edad”)
...
Página 33
Programación en Python - Sesión 2: Introducción al Lenguaje Python
La variable de control del bucle está resaltada de color azul, se encuentra después de
la palabra for y aparece nombrada como variable.
El cuerpo del bucle se ejecutará tantas veces como elementos tenga el elemento
iterable o recorrible, el cual puede ser una lista, un rango o caracteres de una cadena.
Veamos algunos ejemplos:
En el siguiente ejemplo se utiliza una lista como elemento iterable.
print("Inicio")
for i in [0, 1, 2]:
print("Elemento", i)
print()
print("Fin")
Inicio
Página 34
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Elemento 0
Elemento 1
Elemento 2
Fin
Recordemos que como las listas pueden contener cualquier tipo de datos, también
podríamos haber tenido cadenas en la lista, como podemos ver en el siguiente ejemplo:
Hola Antonio
Hola Juan
Hola María
Ahora vamos a emplear como elemento iterable los caracteres de una cadena.
for i in "ANTONIO":
print( i, end="" + " ")
El resultado es:
ANTONIO
for i in range(3):
print( i, end="" + " ")
Página 35
Programación en Python - Sesión 2: Introducción al Lenguaje Python
El resultado es:
012
El resultado es:
12345
2
4
6
8
Página 36
Programación en Python - Sesión 2: Introducción al Lenguaje Python
La sintaxis es la siguiente:
while condicion:
cuerpo del bucle
i=1
print("Inicio")
while i <= 3:
print(i)
i += 1
print("Fin")
El resultado sería:
Inicio
1
2
3
Fin
Vemos como para incrementar la variable i de control del bucle, hemos empleado un
tipo de instrucción de asignación digamos simplificado (i +=1), la instrucción no
simplificada que podríamos haber empleado es: i = i +1.
En este tipo de bucles, donde tenemos que llevar nosotros la cuenta de la variable de
control del bucle, en este caso i, debemos de tener cuidado, porque si se nos olvida
incluir la instrucción del cuerpo del bucle que cambia el valor a la variable de control
(i += 1), entonces tendríamos un bucle infinito.
Por contra esto no ocurre, en los bucles for, puesto que el control de este variable es
automático.
Página 37
Programación en Python - Sesión 2: Introducción al Lenguaje Python
En este otro ejemplo, no conocemos a priori cuantas veces tenemos que realizar el bucle,
se trata de introducir un número mayor de 100. El bucle se repetirá tantas veces como
sea necesario, mientras que el número introducido no se mayor de 100.
numero = 0
numero = 0
while numero <= 100:
numero = int(input("Introduce un número mayor que 100: "))
if numero <= 100:
print("Has introducido un número menor de 100. Inténtalo de nuevo")
Página 38
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Los fórmulas de cálculo que hay que emplear para calcular cada área, son las siguientes:
Área del Cuadrado => lado * lado
Área del Círculo => Π * r2
Área del Triángulo => (base * altura) / 2
Por ejemplo, si el usuario elije calcular el área de un círculo de radio 3, el mensaje que
tendrá que visualizar el programa principal, será:
El área de un círculo de radio 3 es: 28.27
Página 39
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Una vez que el programa visualiza el área geométrica del tipo de figura en cuestión, se
preguntará al usuario si desea calcular el área de otra figura geométrica (S/N). De
manera que si el usuario responde que Sí (S), el programa volverá a preguntar por el
tipo de figura y se volverá a repetir todo el proceso.
Podemos deducir que existirá una estructura repetitiva while ..., que contendrá todo el
programa y que nos permitirá controlar si el usuario desea calcular más áreas, tal y como
se muestra a continuación.
...
while condición:
…
// Preguntamos al usuario si desea calcular el área de más figuras
….
Además, al final el programa tendrá que visualizar la cantidad de figuras de cada tipo
de las que se ha calculado el área, para lo cual tendremos que acumular en las
variables pertinentes (num_cuadrados, ...) esta información, la cual será después
visualizada. El esqueleto del programa podría quedar de la siguiente manera:
El nombre que tendrá el programa que tendremos que entregar será: calculo_areas.py.
Página 40
Programación en Python - Sesión 2: Introducción al Lenguaje Python
Ampliación Voluntaria 1:
Esta ampliación o variante NO ES NECESARIO ENTREGARLA y pretende que los
alumnos pueden emplear también la estructura iterativa for i in …:. La estructura
repetitiva while condicion 1: que teníamos antes la sustituiremos por esta nueva
estructura for …:.
Al principio el programa nos preguntará de cuantas figuras queremos calcular el área
(num_figuras). Los valores permitidos deben encontrarse entre 1 y 5, para realizar este
control tendremos que utilizar una estructura repetitiva while …:
En esta ampliación una vez que ha sido mostrado el resultado del cálculo de la primera
área, ya no preguntaremos al usuario si quiere introducir más figuras, puesto que al
principio ya lo hemos solicitado.
Ahora el esqueleto del programa tendrá el siguiente aspecto:
Página 41
Programación en Python - Sesión 2: Introducción al Lenguaje Python
import math
…
hipotenusa = math.sqrt(lado1**2 + lado2**2)
import os
…
os.mkdir(“prueba”)
Página 42
Programación en Python - Sesión 2: Introducción al Lenguaje Python
from os import *
…
directorio_actual = getcwd()
En este ejemplo, la función getcwd() nos devuelve cual es el directorio actual, vemos
que ya no es necesario incluir delante del nombre de la función el nombre del
módulo.
Esta forma es una variante de la anterior, de manera que en lugar de importar todos los
nombres de las funciones, sólo se importan aquellos nombres que se especifican
en la lista de funciones importadas.
Ejemplo:
Página 43
Programación en Python - Sesión 2: Introducción al Lenguaje Python
…
remove(“fichero.txt”)
Hemos incluido en el espacio de nombres del módulo tan solo el nombre de las
funciones remove y rmdir.
print(mensaje)
Página 44
Programación en Python - Sesión 2: Introducción al Lenguaje Python
El resultado será:
A continuación, vamos a describir la función len y el operador in, los cuales suelen ser
bastante habituales cuando trabajamos con cadenas:
- len(cadena), permite obtener la longitud de una cadena, nos devolverá un número
entero
Ejemplo:
cereal =”avena”
print(len(cereal))
El resultado sería:
Página 45
Programación en Python - Sesión 2: Introducción al Lenguaje Python
0 1 2 3 4
a v e n a
Podemos acceder a los elementos individuales de la cadena para preguntar por ellos, en
una condición, para visualizar su valor, etc.
Ejemplos:
if cereal[0] == “a”:
...
print(cereal[indice])
Como podemos observar, podemos acceder a los elementos de una cadena, no solo a
través de una constante, sino también mediante una variable, en este caso indice.
Página 46
Programación en Python - Sesión 2: Introducción al Lenguaje Python
print(cereal[1:3])
print(cereal[2:])
print(cereal[:2])
El resultado sería:
ven
ena
av
Dentro de las cadenas podemos incluir caracteres especiales como el salto de línea,
la tabulación, etc., todos estos caracteres siempre aparecerán representados por un
primer carácter de escape, que será la \, seguido del carácter en cuestión.
Página 47