Unidad 1 Python
Unidad 1 Python
PROGRAMACIÓN
Lenguaje Python
TEORÍA DE LENGUAJE PYTHON
La sintaxis de Python es muy sencilla y cercana al lenguaje natural. Por este motivo se trata
de uno de los mejores lenguajes para comenzar a programar.
print(“Hola Mundo”)
print ( ) es una función que permite mostrar o imprimir en la pantalla una leyenda.
VARIABLES
Una variable es una posición en memoria donde se puede almacenar un valor. Pueden ser de
tipo entero (int), real (float) o booleano (bool)
Los nombres de las variables son cadenas de letras y dígitos de 1 a 32. Se acepta el guión
bajo en los nombres nom_1, pero no puede comenzar con dígitos.
Tener en cuenta también que no se pueden usar palabras reservadas del lenguaje como
nombres de variables:
Al asignar un número entero a una variable esta pasará a tener tipo int.
entero = 15
Para representar un número real en Python se escribe primero la parte entera, seguido de un
punto y por último la parte decimal.
real = 0.2703
1
También se puede utilizar notación científica, y añadir una e (de exponente) para indicar un
exponente en base 10. Por ejemplo:
OPERADORES ARITMETICOS:
- Resta r=4-7 # r es -3
* Multiplicación r=2*6 # r es 12
** Exponente r = 2 ** 6 # r es 64
OPERADORES RELACIONALES:
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el
resultado de la comparación es correcto la expresión considerada es verdadera, en caso
contrario es falsa.
OPERADOR SIGNIFICADO
== Igual
!= No igual
OPERADORES LÓGICOS:
Los operadores lógicos retornan un valor lógico basados en las tablas de verdad.
Operador Descripción
2
not Negación (no)
and Conjunción (y)
or Disyunción (o)
OPERADORES DE ASIGNACIÓN
Una asignación significa que la variable que se encuentra a la izquierda del = toma el valor
que contiene la variable de la derecha.
Si a la derecha hay un operando o más, primero se resuelve esa expresión y luego se asigna.
Python, como otros lenguajes, permite un formato abreviado en los casos en los que una
variable está a la izquierda y a la derecha del igual:
Se puede abreviar
Por ejemplo:
INSTRUCCIONES DE ENTRADA/SALIDA
3
PRINT
Vimos que para mostrar una leyenda la escribimos después del primer paréntesis del print
entre comillas
Los paréntesis se escriben después del nombre de toda función para escribir entre ellos el
argumento.
La cadena de caracteres escrita entre comillas también se llama mensaje, leyenda o literal, y
al mostrarla se respetan exactamente todos los caracteres que aparecen allí, salvo la barra
invertida ´\´y el carácter escrito inmediatamente después. Esta barra sirve también para que
aparezcan escritos algunos caracteres especiales como “, %, etc.
\t tabulador horizontal
a=4
b=5
print (“la suma entre”, a, ”y”, b ,”es”, a + b)
Otra forma de obtener el mismo resultado es escribir dentro de las comillas, en el lugar que
queremos que aparezca el valor de la variable, el símbolo de % seguido de la letra que indica
el tipo de variable (en este caso d) y luego de las comillas, el símbolo % y entre paréntesis el
nombre de la variable. Si debemos mostrar más de una variable, escribimos el formato
dentro de las comillas donde queremos que aparezca cada una y luego, dentro del último
paréntesis escribimos las variables en el orden que deben aparecer.
a=4
b=5
print (“la suma entre %d y %d es %d” %( a, b, a + b))
Nota: las variable de tipo entero (int) se identifican con la letra d, las de tipo real (float) con
la letra f y las booleanas (bool) con la letra r.
4
INPUT
Esta instrucción se utiliza para permitir el ingreso del valor de una variable por teclado. Se
puede escribir luego de la sentencia, entre paréntesis, una leyenda que nos indique que tipo
de dato se está esperando que ingrese, facilitando la interacción con el usuario.
a = int(input(“Ingrese un número”))
NOTA: Para ingresar variables de tipo numérico, se agrega el tipo de variable que se está
leyendo (int, float, etc.) antes de la sentencia input.
En el programa se puede indicar o agregar una línea como comentario. Esto es útil para
documentar los programas, explicar el funcionamiento de una parte en particular y
mejorar la legibilidad de los mismos.
Las estructuras de decisión permiten elegir entre ejecutar una acción u otra, dependiendo de
que la condición sea VERDADERA o FALSA para el valor que tienen asignadas las variables que
aparecen en la misma cuando se ejecuta esta instrucción.
if condición:
sentencia 1
Bloque de instrucciones a ejecutar si la condición es
sentencia 2
….. verdadera
instrucción fuera del if
5
Ejemplo:
NOTA: Siempre tiene que haber una instrucción a ejecutar cuando la condición resulta
VERDADERA.
if condición:
sentencia 1 Ejecuta si la condición es verdadera
sentencia 2
else:
sentencia3
Ejecuta si la condición es falsa
Si se debe ejecutar alguna acción cuando la condición es falsa, esta debe estar precedida por
la palabra else:, a la altura del if al que se asocia. Éste es opcional, o sea que no tiene que
colocarse si en el caso de que la condición sea falsa no hay que ejecutar ninguna sentencia.
Si hay más de dos ramas en la salida de la condición se pueden resolver usando la sentencia
elif como una abreviatura de else if.
Ejemplo:
6
a = int(input(“ingrese un número”))
if a == 1:
print(“UNO”)
elif a == 2:
print(“DOS”)
elif a == 3:
print(“TRES”)
elif a == 4:
print(“CUATRO”)
elif a == 5:
print(“CINCO”)
elif a == 6:
print(“SEIS”)
elif a == 7:
print(“SIETE”)
elif a == 8:
print(“OCHO”)
elif a == 9:
print(“NUEVE”)
ANIDAMIENTO DE IF
Los condicionales anidados se utilizan cuando una de las salidas de la primera condición tiene
a su vez otras dos posibles salidas (verdadero o falso) y así hasta agotar todas las opciones
posibles. La correcta indentación permite identificar a simple vista qué condición queda
dentro de otra
Ejemplo
Cada ELSE se corresponde con el IF más próximo que no haya sido emparejado, y deben tener
la misma indentación.
7
USO DE CONECTIVOS LOGICOS EN LA CONDICION
Podemos reducir la cantidad de if anidados usando los operadores lógicos and (y) y or (o)
dentro de la misma condición.
Recordar:
Una condición con and es verdadera si todas las condiciones que conecta son verdaderas y
que la condición or es verdadera si por lo menos una de las dos condiciones es verdadera.
Por lo tanto, una condición and es falsa si alguna de las condiciones que conecta es falsa y
una condición or es falsa si todas las condiciones son falsas.
Las siguientes tablas muestran todas las combinaciones posibles entre los valores de verdad
de dos condiciones y el valor de verdad de la operación resultante
Condición 1 or Condición 2
V V V
V V F
F V V
F F F
En ciertas ocasiones, también es útil usar el operador not, que devuelve el valor de verdad
contrario al de la condición que afecta. Si la condición es verdadera, al anteponerle el
operador not, el valor de verdad será falso; y por el contrario, si la condición es falsa,
anteponiéndole el operador not obtendremos una condición verdadera
not Condición
F V
V F
1. not
2. and
3. or
Ejemplo:
8
not condición 1 and condición 2 devuelve el valor de verdad del and entre la
negación de la condición 1 y la condición 2
not (condición 1 and condición 2) devuelve la negación del and entre la condición
1 y la condición 2
Ejemplos:
Uso del and
En un aviso del diario piden ingenieros en sistemas con 5 años de experiencia a lo sumo, para
ocupar un puesto laboral.
A la convocatoria se presenta:
Uso del or
Tengo invitados en casa y voy a comprar 1 kilo de helado. Sé que los únicos gustos que comen
son chocolate o vainilla. Después de ir a varias heladerías encontré:
Hay chocolate pero no hay vainilla. LO COMPRO, pues la primer condición es verdadera.
Sólo hay vainilla, chocolate no. LO COMPRO, pues la segunda condición es verdadera.
Hay chocolate y vainilla. LO COMPRO, pues las dos condiciones son verdaderas.
Hay americana y dulce de leche. NO LO COMPRO, pues ninguna de las condiciones es
verdadera.
Ejemplo
1. Realizar un programa que permita ingresar un número y decir si es de dos cifras o no.
a = int(input(“Ingrese un número”))
if a >= 10:
if a <= 100:
print(“El numero ingresado es de dos cifras”)
else:
print(“El numero ingresado no tiene dos cifras”)
9
Pero si incluimos el uso de conectivos puede quedar:
a = int(input(“ingrese un número”))
if a >= 10 and a <= 100:
print(“El numero ingresado es de dos
cifras”) else:
print(“El numero ingresado no tiene dos cifras”)
a = int(input(“ingrese un número”))
if 10 <= a <= 100:
print(“El numero ingresado es de dos cifras”)
else:
print(“El numero ingresado no tiene dos cifras”)
a = int(input(“Ingrese un número”))
b = int(input(“Ingrese otro número”))
if a % b == 0 or b % a ==0:
print(“Uno de los números es divisible por el otro”)
else:
print(“Ninguno de los números es divisor del otro”)
ESTRUCTURAS DE REPETICIÓN
Una estructura de repetición le permite al programador repetir una acción, en tanto cierta
condición se mantenga verdadera.
WHILE
Permite ejecutar un bloque de sentencias mientras la condición a la que precede es
verdadera. El ciclo finaliza cuando la condición del while es falsa
while condición:
Bloque de sentencias del while
sentencia 1
sentencia 2
siguiente sentencia fuera del while
10
Si la condición es verdadera “entra” al while y se ejecutan las sentencias que están debajo de
esta instrucción indentadas.
Si la condición es falsa no entra al while y ejecuta la próxima instrucción fuera del while (la
primera que no tiene identación respecto de ese while).
Ejemplo:
Ingreso 1:
5, 14, 6, 8, -3 (el quinto número ingresado es menor que cero por lo tanto sale del ciclo)
Ingreso 2:
7, -6 (el segundo número ingresado es menor que cero por lo tanto sale del ciclo)
FOR
Algunos parámetros de los que están entre paréntesis pueden no escribirse; por ejemplo, si
solo se escribe un número, este corresponde al valor de fin y asume que el valor inicial es
cero y el paso es uno. Y si se escriben solo dos valores dentro del paréntesis, se asume que
son el de inicio y fin y que el paso es uno.
11
Ejemplos:
for i in range(5):
a = int(input(“INGRESE UN NUMERO”))
print (a)
En este caso, como el valor inicial es mayor al valor final, el paso debe ser necesariamente
un número negativo
MAXIMOS Y MINIMOS
En caso de ser el valor leído mayor a esa variable se asigna este nuevo valor a la variable, en
caso contrario no se hace nada.
12
Siempre la variable „máximo‟ debe inicializarse en un valor. Si ese valor es el primero del lote
de datos del cual buscamos el máximo, mejor. Si esto no es posible, se puede inicializar la
variable en un valor ABSURDO (en caso de máximo un número muy chico, y en caso de mínimo
un valor muy grande), el cual será reemplazado por el primer dato cuando sea evaluado el
condicional. En el caso de que el conjunto de datos sean sueldos, se puede inicializar máximo
= -1, pues es un valor no posible y ante la pregunta de sueldo> máximo cualquier valor de
sueldo siempre será mayor y se lo asignará a esa variable perdiendo el valor absurdo.
Ejemplos:
minimo = 200
num = int(input(“Ingrese el número de integrantes del grupo”))
for i in range(num):
edad = int(input(“Ingrese una edad”))
if edad < minimo:
minimo = edad
print(“el integrante de menor edad tiene”, minimo, “años”)
13
Cadenas de caracteres
Llamamos cadena o string a una secuencia de caracteres. En este apartado veremos cómo
manipular cadenas de caracteres en Python.
a = “hola”
print(len(a))
Muestra en pantalla 4
Nota: Existe una cadena especial, que llamaremos cadena vacía, que es la cadena que
no contiene ningún carácter (se la indica sólo con un apóstrofe o comilla que abre, y
un apóstrofe o comilla que cierra), y que por lo tanto tiene longitud cero.
Recorrer una cadena: podemos recorrer una cadena, elemento por elemento,
usando un ciclo definido de la siguiente manera:
for x in “hola”:
print (x)
Los índices son números enteros entre 0 y len(a) – 1. Se pueden utilizar también
índices negativos que acceden a los caracteres de la cadena desde el último al
primero. Por ejemplo, a [-1] accede al último, a[-2] al anteúltimo, etc.
a = “hola”
print(“El último carácter de la palabra es”, a[-1])
14
Muestra en pantalla la letra a
a = “hola”
print(a[1:3])
Tener en cuenta que Python considera el intervalo abierto en el límite superior, o sea
que el rango no incluye el carácter correspondiente al segundo índice sino que llega
hasta al anterior.
a = “programacion”
print(a[:4])
print(a[6:])
Las cadenas son inmutables, es decir que no se puede modificar uno o algunos
caracteres sobre la misma variable.
nombre = “programación”
print (nombre.upper()) muestra PROGRAMACION
print (nombre.lower()) Muestra programación
15