0% encontró este documento útil (0 votos)
23 vistas143 páginas

02 - Variables y Tipos de Datos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas143 páginas

02 - Variables y Tipos de Datos

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 143

CCPG1043

Fundamentos de
Programación

Unidad 2 – Variables y Tipos de Datos


Contenido

2.1 Tipos de datos primitivos.


2.2 Definición, asignación y operaciones con variables.
2.3 Manejo de entrada y salida.
2.4 Operaciones con cadenas de caracteres.
2.5 Operaciones con listas.
Objetivos

• Seleccionar los ,pos de datos y los operadores lógicos y relacionales


apropiados para escribir expresiones válidas en un lenguaje de
programación.
• U,lizar sentencias de entrada y salida de datos con formato para la creación
de programas sencillos.
• Aplicar la precedencia de los operadores, el operador de asignación y su uso,
la lógica usada en las operaciones booleanas y los ,pos de datos para
escribir expresiones válidas en un lenguaje de programación.
2.1 Tipos de datos primitivos.
Tipos de Datos Básicos

Numéricos

Lógicos
Cadenas
de
caracteres
Datos Numéricos

Tipo Nombre Descripción Ejemplo

Enteros int Números sin parte fraccionaria 52


0
-318

Reales o de float Números con parte fraccionaria 6.37


punto flotante o expresados en notación de -0.089
potencias de 10 4.1e-3

Complejos complex Números con un componente real y (9-3j)


uno imaginario (2.5+6.4j)
Datos Lógicos

Tipo Nombre Descripción Ejemplo


Booleano bool Representación de los True
valores lógicos False
Verdadero o Falso.

Nota: T – F con mayúscula -> Python es case-sensitive.


Cadena de Caracteres

Tipo Nombre Descripción Ejemplo

Cadenas str Expresiones (texto) formadas ‘Hola’


por caracteres. “Mundo”
Se pueden representar
indistintamente con comillas
simples o dobles.
Ejemplos

• Identifique el tipo de dato adecuado del lenguaje de programación de Python


para cada uno de los ejercicios propuestos:
1. La edad de una persona
2. El estado civil de una persona
3. ¿Tiene multa un estudiante?
4. La cantidad de hijos de una pareja
5. ¿Tiene beca un estudiante?
6. La matrícula de un estudiante.
7. Prueba de COVID.
8. La dirección de un estudiante.
9. ¿Se quedó un estudiante de la materia?
type()

>>> 30 == 40 >>> type(9.8)

>>> 25 > 12 >>> type(58) >>> type(-0.69)

>>> type(-4)

>>> type("Fundamentos de Programación")

>>> type('2017')
type()

>>> 30 == 40 >>> type(9.8)


False <class 'float'>
>>> 25 > 12 >>> type(58) >>> type(-0.69)
True <class 'int'> <class 'float'>
>>> type(-4)
<class 'int'>

>>> type("Fundamentos de Programación")


<class 'str'>
>>> type('2016')
<class 'str'>
Conversiones entre tipos de datos
• Siempre que el contenido sea compa&ble, se puede conver4r entre
4pos de datos mediante una especificación correspondiente al 4po
de datos requerido.
• En python, para realizar conversiones u4lizamos funciones de &po
conver&dor.
32
int() 3.99 Enteros
92
3.14169
Decimales
float() -3.8

str() Hello world Cadena de Caracteres


Consola de Python
>>> int(3.14)

>>> int(3.9999)

>>> int(-3.999)

>>> int("2345")

>>> int(17)

>>> int("23 bottles")


Consola de Python
>>> float(17)

>>> float("123.45")

>>> str(17)

>>> str(123.45)
Conversiones entre tipos de datos
int str float boolean
int -
str -
float -
boolean -
2.2 Definición asignación y
operaciones con variables
Creación y Asignación de Variables
• La creación de variables se realiza a través de la asignación de
un valor a la misma.
• El operador de asignación en Python es el “=“.

x = 100
✔ 100 = x

De derecha a izquierda De izquierda a derecha
TIP:
Una variable es un valor que puede cambiar a lo largo de la ejecución de nuestro algoritmo
Asignación (=)

>>> x = 15 x 225
15
>>> y = 25
y
>>> x = 100 25
>>> y = 225 100
TIP:
Se puede cambiar el valor de una variable en una instrucción posterior
Otras Asignaciones
• Asignación en la misma línea:
x = 5; y = 9; z = 12

• Asignación múltiple:
day, month, year = “miércoles”,”mayo”, 2016

• Asignación del mismo valor:


largo = ancho = 4

• Asignación de intercambio:
base = 15; altura = 30
base, altura = altura, base
Nombre de
Variables
Nombre de Variables

–Elegir un nombre significativo que tenga relación con


el dato que representará.
–Se debe mantener consistencia en el estilo a utilizar
en nombres que contengan más de una palabra, por
ejemplo:
fecha_actual o fechaActual
Nombre de Variables

–Seguir las tradiciones de lenguaje, por ejemplo que


el nombre de la variable inicie con una letra
minúscula.
–No elegir nombres demasiado largos que podrían
ocasionar problemas. Mantener un máximo de 15
caracteres.
–Evitar caracteres que no existen en Inglés. *
Nombre de Variables
Incorrecto Correcto
variable edad
A deposito
B retiro


C saldo
1numero numero1
2numero numero2


caso-1 caso_1
caso-2 caso_2
input entrada

TIP:
Las variables son Caption Sensibles (ej. Nombre != nombre )
Palabras reservadas

and assert break class continue def del elif else


except exec finally for from global if import in input is
lambda next not or pass print raise return try while
yield
Consola de Python
>>> 55fundamentos = “de programacion”

>>> mas$ = 1000000

>>> class = “animals domesticos"

Palabra
clave/reservada
Debugging
• Ejecute los siguientes ejemplos de código:
#Sume 2 números y divídalos para 2
num1 = ‘6‘
2num = 10
Sum = num1 + 2num
print(sum)

# Calcule el valor a cancelar por una deuda de $2000, considerando IVA del 14%.
Imprima el valor a cancelar.
deuda = 2000
0.14 = iva
valor_cancelar = deuda + iva
print(“valor_cancelar”)
Operadores en Python

Son los símbolos u,lizados para expresar las


operaciones básicas en los programas.
Operadores Aritméticos
Operadores Operación Ejemplo Resultado
+ Suma 2+6 8
- Resta 10 - 7 3
* Multiplicación 8*2 16
/ División 13 / 2 6.5
// División (Entera) 11 // 2 6
% Módulo 11 % 2 1
** Potenciación 2 ** 4 16
TIP:
Se pueden utilizar paréntesis () para definir el orden de las operaciones
Expresiones Matemáticas

• a=2; (a+2)3

!"#
• a=4; b=3;
$%&
Consola de Python
>>> a=2; (a+2)**3

>>> a=4; b=3; (a+5)/(b-1)


Operadores Relacionales
• Estos símbolos se usan para comparar valores. El resultado de esta comparación
es un valor lógico: True o False.
Símbolo Operación Ejemplo Resultado
== Igual que 4 == 4 True
!= Distinto que 9 != 3 True
> Mayor que 4>7 False
< Menor que 10 < 3 False
>= Mayor o igual que 8 >= 5 True
<= Menor o igual que 7 <= 1 False
Operadores Relacionales
• También puedo comparar otros tipos de datos como str y float.

Símbolo Operación Ejemplo Resultado


== Igual que
!= Distinto que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
Conectores Lógicos
• Estos símbolos se u,lizan para construir expresiones lógicas. El resultado es un
valor lógico True o False.

Símbolo Operación Ejemplo Resultado


and Conjunción 2 >1 and 4 < 8 True
or Disyunción 9 != 6 or 7 <= 3 True
not Negación not True False
Expresiones lógicas
• Verificar que el valor de x sea menor o igual que 5.

• Verificar que el valor de x sea menor que 5 y que el valor de t sea mayor que 2.
Consola de Python
>>> x <= 5

>>> x < 5 and t > 2


Operadores de Incremento y Decremento

a = 8
Símbolo Ejemplo Equivalente a Ejemplo

+= a+=5 a=a+5 13

-= a-=5 a=a-5 8

*= a*=5 a=a*5 40

/= a/=5 a=a/5 8.0

%= a%=5 a=a%5 3.0


Prioridad de Operadores

x = 1 + 2 * 3 - 4 / 5 ** 6

Paréntesis
Potencia
X = 6.999744 Multiplicación y división
Suma y resta
Operadores de igual precedencia se
evalúan de derecha a izquierda
2.3 Manejo de Entrada y Salida
Entrada (input)
• Hay una función integrada en Python para obtener la entrada (input) del usuario.

#comentario de entrada de datos


nombre = input(“Ingrese su nombre: ”)
print(nombre)

Comentarios #

TIP:
Todo dato ingresado por el usuario será considerado por Python como un string.
Salida (print)
• Hay una función integrada en Python para obtener la imprimir en consola el valor
de las variables.
#comentario de entrada de datos
nombre = input(“Ingrese su nombre: ”)
print(“Hola ”, nombre, “, saludos.” )

#comentario de salida de datos


base = input(“Ingrese la base: ”)
altura = input(“Ingrese la altura: ”)
print(“La base es ”, base, “y la altura”, altura)
Ejercicio
• Calcular el area de un círculo, dado el radio.
• Fórmula:
𝐴 = 𝜋 𝑟!

• Algoritmo:
1. Ingresar el radio
2. Calcular el área
3. Imprimir el valor del área
Consola de Python
respuesta = input(“¿Cuál es su radio?”)
area = 3.14159 * respuesta**2
print("El area es %.2f” %area)
Consola de Python
respuesta = input(“¿Cuál es su radio?”)
r = float(respuesta)
area = 3.14159 * r**2
print("El area es %.2f” %area)
Resumen: Operaciones tipos de datos
numéricos Operación Descripición
x+y Suma dos valores
x-y Resta dos valores
x*y Multiplica dos valores
x/y División
x // y División entera
x%y Módulo (residuo) de la división
x ** y Potencia de un valor
-x Negativo de un valor
+x Positivo de un valor
abs(x) Retorna el valor absoluto de un valor
int(x) Retorna la parte entera de un valor
long(x) Convierte un valor a tipo long
float(x) Converte un valor a tipo float
type(x) Retorna el tipo de dato de un valor
Formato de Salida
• El operador "%" es usado para dar formato y fijar las variables. Esto
se hace especificando una cadena con formato, la cual contiene el
texto normal junto con "argumentos especificados", como los
símbolos especiales "%s", "%d“ y “%f”.
Especificadores de argumento

%s %f %d
• str • float • int
Secuencias de Escape

Secuencia Acción
\\ Muestra el caracter backslash.
\’ Muestra el caracter de comilla simple.
\" Muestra el caracter de comilla doble
\a Sonido de alerta.
\n Nueva línea. Coloca el cursor al inicio de la siguiente línea.
\t Tabulación. Mueve el cursor avanzando en la misma línea.
Formato de Salida
• Digamos que tienes una variable llamada "nombre" con el nombre de usuario y
se desea darle un saludo al usuario.

>>> nombre = "Juan"


>>> print ("Hola, %s!" % nombre)
Hola, Juan!
Formato de salida - +2 variables
• Usa dos o mas especificadores de argumento con sus respectivas variables

>>> nombre = "John"


>>> edad = 23
>>> print ("%s tiene %d años." % (nombre, edad))
John tiene 23 años.

>>> libro = "Como programar en python”


>>> precio = 13.5523>>>
print("El libro %s tiene un precio de $ %.2f" %
(libro,precio))
El libro Como programar en python tiene un precio de $ 13.55
Especificadores de Argumento
Trabajo Autónomo

Investigar sobre como funciona:

.format()
Salidas formateadas:
Secuencias de escape

#Si se quiere imprimir comillas simples


>>> print("El libro '%s' tiene un precio de $ %.2f" % (libro,precio))
El libro 'Como programar en python' tiene un precio de $ 13.55

#Si se quiere imprimir comillas dobles, se utiliza el backslash antes de


las comillas (\)
>>> print("El libro \"%s\" tiene un precio de $ %.2f" % (libro,precio))
El libro "Como programar en python" tiene un precio de $ 13.55
Secuencias de escape

Si se quiere mostrar un espacio largo – tabulación (\t)


>>> print("El libro \t'%s'\t tiene un precio de $ %.2f" % (libro,precio))
El libro 'Como programar en python' tiene un precio de $
13.55

Si se quiere imprimir en una nueva línea (\n)


>>> print("El libro '%s' tiene un precio de: \n $%.2f" % (libro,precio))
El libro 'Como programar en python' tiene un precio de:
$13.55
Salida por Pantalla
2.4 Operaciones con Cadena de
Caracteres
Cadenas de caracteres – String [str]

• Las cadenas de caracteres es uno de los tipos de datos más populares en


Python.
• Se considera un tipo de dato compuesto porque están hechas de elementos
más pequeños llamados caracteres.
• Se pueden crear utilizando comillas simples o dobles .

vocal = ’a’
nombre = “Lorena”
enunciado = ‘El banano es el principal producto de exportación en el Ecuador.’
cancion = ’Pero mira como beben los peces en el rio…’
Sumar cadenas de caracteres - concatenar

>>> "Un divertido "+"programa "+"de "+ "radio"

'Un divertido programa de radio'


>>>

MulPplicar una cadena s por un número k


>>> 3 * "programas "
'programas programas programas '

>>> "programas " * 3


'programas programas programas '
>>>
Índices
• Un índice identifica a un miembro de un conjunto ordenado, en este caso el
conjunto de caracteres de la cadena.
• El índice puede ser cualquier expresión entera.
Trabajando con partes de una cadena
Trabajando con partes de una cadena
Trabajando con partes de una cadena

• Indice
Indexación • cadena[2]
>>> cadena = 'Guayaquil'
>>> cadena[2]
'a'
Obtener un carácter.
>>> cadena[3:6]
'yaq'

• Inicio y fin
Slicing • cadena[2:5]
Obtener una subcadena.

*Los índices siempre son números enteros.


Trabajando con partes de una cadena
• El operador corchete [] selecciona sólo un caracter de una cadena:

>>> fruta = "banana"


>>> letra = fruta[1]
>>> print (letra)

• Resultado???
• La letra en la posición dos (2)

TIP:
Las posiciones empiezan desde 1, los índices desde 0.
Tamaño de una cadena de caracteres
• La función len devuelve el número de caracteres de una cadena:

>>> fruta = "banana"


>>> len(fruta)
6
• Si deseamos retornar la última letra de la cadena de caracteres?
longitud = len(fruta)
ultima = fruta[-1]

longitud = len(fruta)
ultima = fruta[longitud-1]
Segmentos de cadenas de caracteres - slices
Ø Dividir la cadena de caracteres s=“Fundamentos”
Code Result Descripción
s[2:5] nda Caracteres en los indices 2,3,4.
s[ :5] Funda Los primero 5 caracteres.
s[5: ] mentos Caracteres desde el índice 5 al final.
s[ -2: ] os Los últimos dos caracteres.
s[ : ] Fundamentos Toda la cadena de caracteres.
s[ 1 : 7 : 2] udm Caracteres desde el índice 1 al 6, step 2.
s[ : : -1] sotnemadnuF Un step negativo muestra al revese el string.
TIP:
Hay que tener cuidado con salirse del rango de una cadena
Ejemplo
• url = ‘www.espol.edu.ec’
• url1 = ‘www.uchile.edu.cl’
• url2 = ‘www.unam.edu.mx’

¿Cómo se que URL es de Ecuador, Chile o México?


Mutabilidad
• Una cadena de caracteres es inmutable, es decir sus elementos no se pueden
modificar.
• Si se requieren modificaciones, se debe construir una cadena nueva (muchas
veces esto lo hace automáticamente el intérprete de Python).

saludo = "¡Hola todo el mundo!" #ERROR


Traceback (most recent call last):
saludo[2] = 'L' # ¡ERROR!
File "<stdin>", line 1, in <module>
print saludo TypeError: 'str' object does not support item assignment

TIP:
Las Cadenas de Caracteres (str) son INMUTABLES.
Búsqueda- in
• Para buscar una subcadena (o un caracter) en una cadena, solamente
necesitamos saber si una cadena contiene cierto caracter o cierta subcadena.
• Usando el operador in

>>> if 'la' in 'hola':


... print '¡Está!'
...
¡Está!

• Devuelve un valor de True si la subcadena o caracter se encuentra, caso


contrario retorna False.
Funciones de Strings

resultado = variable .funcion(arg1, arg2, … n)

Ejemplos:

cadena2 = cadena.lower()

pal2 = pal1.count()

num = palabra.index(‘a’)
Búsqueda - index
• Para buscar una subcadena (o un caracter) en una cadena, solamente necesitamos
saber si una cadena contiene cierto caracter o cierta subcadena.
• Usando la función index()

>>> cadena = "hola”


>>> cadena.index('a')
3
>>> cadena.index('ha')
# index() lanza una excepción
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found

Funciones de Strings
Búsqueda - find
• Para buscar una subcadena (o un caracter) en una cadena, solamente
necesitamos saber si una cadena contiene cierto caracter o cierta subcadena.
• Usando la función find()

>>> cadena = "hola”


>>> cadena.find('a')
# si la cadena está, tanto index() como find() funcionan
igual
3
>>> cadena.find('ha')
# 'ha' no está en 'hola', find() retorna -1
-1

Funciones de Strings
Funciones de Python (aplicadas a str)

len() •Tamaño de la cadena

min() •Carácter mínimo*

max() •Caracter máximo*


Funciones de Strings
Formato
• Convertir a mayúscula la primera letra
• Función: capitalize()
• Retorna: una copia de la cadena con la primera letra en mayúsculas.

>>> cadena = "bienvenido a mi aplicación"


>>> print (cadena.capitalize())
Bienvenido a mi aplicación

Funciones de Strings
Formato
• Convertir una cadena a minúsculas
• Método: lower()
• Retorna: una copia de la cadena en minúsculas.

>>> cadena = "Hola Mundo"


>>> print (cadena.lower())
hola mundo

Funciones de Strings
Formato
• Convertir una cadena a mayúsculas
• Método: upper()
• Retorna: una copia de la cadena en mayúsculas.

>>> cadena = "Hola Mundo"


>>> print (cadena.upper())
HOLA MUNDO

Funciones de Strings
Formato
• Convertir mayúsculas a minúsculas y viceversa
• Método: swapcase()
• Retorna: una copia de la cadena convertidas las mayúsculas en minúsculas y viceversa.

>>> cadena = "Hola Mundo"


>>> print (cadena.swapcase())
hOLA mUNDO

Funciones de Strings
Formato
• Convertir una cadena en Formato Título
• Método: title()
• Retorna: una copia de la cadena convertida.

>>> cadena = "hola mundo"


>>> print (cadena.title())
Hola Mundo

Funciones de Strings
Funciones con cadenas de caracteres

Función Descripción
str.count() Retorna el número de ocurrencias de una subcadena dentro
de una cadena de caracteres.

str.endswith() Retorna True si la cadena de caracteres termina con una


subcadena especificada, caso contrario retorna False

str.startswith() Retorna True si la cadena de caracteres empieza con una


subcadena especificada, caso contrario retorna False

Funciones de Strings
Funciones con cadenas de caracteres
Función Descripción
str.isalnum() Retorna True si la cadena es alfanumérica, caso contrario retorna False

str.isalpha() Retorna True si la cadena es alfabética, caso contrario retorna False

str.isdigit() Retorna True si la cadena es numérica, caso contrario retorna False

str.isdecimal() Retorna True si la cadena es decimal, caso contrario retorna False

str.islower() Retorna True si la cadena contiene solo minúsculas, caso contrario retorna
False

str.isupper() Retorna True si la cadena contiene solo mayúsculas, caso contrario retorna
False

Funciones de Strings
FUNCIONES CADENAS DE CARACTERES

Función Descripción
lower() Devuelve un string con todos sus caracteres en minúsculas.
upper() Devuelve un string con todos sus caracteres en mayúsculas.
replace(x,y) Devuelve un string con cada ocurrencia de x reemplazada por y.
count(x) Cuenta el número de ocurrencias de x en un string.
index(x) Devuleve la ubicación de la primera ocurrencia de x.
isalpha() Devuelve True si cada carácter del string es una letra.
a,b=split(x) Divide la cadena en N variables de acuerdo al carácter x
a,b=rsplit(x) Divide la cadena en N variables de acuerdo al carácter x (reverse)

Funciones de Strings
Eliminar caracteres a la izquierda y derecha de una
cadena
• Función: strip(["caracter"])
• Retorna: la cadena sustituida.

>>> cadena = " www.espol.edu.ec "


>>> print cadena.strip()
www.espol.edu.ec

>>> print cadena.strip(' ')


www.espol.edu.ec

Funciones de Strings
Reemplazar texto
• En Python esto lo hacemos con el método replace
• Función: replace("subcadena a buscar", "subcadena por la cual reemplazar")
• Retorna: la cadena reemplazada.

>>> buscar = "nombre apellido"


>>> reemplazar_por = "Juan Pérez"
>>> print "Estimado Sr. nombre apellido:".replace(buscar,
reemplazar_por)
Estimado Sr. Juan Pérez:

Funciones de Strings
Aleatoriedad
Aleatoreidad
• Hasta ahora hemos seleccionado valores que el usuario ingresa o
valores predeterminados en nuestros programas
• x=7
• n_intentos = 3
• Sería interesante si cada vez que corremos nuestro programa
podamos elegir un número aleatorio
random()
• Para utilizar numeros aleatorios en nuestro programa, necesitamos
seguir los siguientes pasos:
1. Importar el módulo random
2. Utilizar la función del módulo random para generar el número aleatorio

TIP:
El “aleatorio” de Python se basa en una fórmula, es decir que NO es realmente aleatorio
random()
import random
num = random.randint(1,10)

randint(start, end) retorna un


número aleatorio entre el 1 y 10,
incluyendo ambos límites.
FUNCIONES ALEATORIAS BÁSICAS
Función Acción
random() Genera un número aleatorio entre 0 y 1
randint(a,b) Genera un número aleatorio enntre a y b (incluyendo a y b)
randrange(x) Genera un número aleatorio entre 0 y x-1

Ejemplo: Simular el lanzamiento de un dado.

dado=random.randint(1,6) à valores entre 1 y 6

dado=random.randrange(6) +1 à valores entre 0 y 5


(se “desplaza” en 1)
Ejercicio
• Escriba un programa que simule el juego de piedra, papel o tijera.
1. Generar dos números aleatorios, esto servirá para guardar las opciones de los dos jugadores.
• Si el número generado es igual a 1, es piedra.
• Si el número generado es igual a 2, es papel.
• Si el número generado es igual a 3, es tijera.

2. Mostrar el ganador:
• Piedra le gana a tijera
• Tijera le gana a papel
• Papel le gana a piedra
Range (a,b,c)
• Función que te devuelve una lista de números entre a y b sin incluir b con un step de c.
• Los valores de a y c pueden ser omitidos, colocando por defecto a = 0 y c = 1

Sentencia Valor generado


range(10) 0,1,2,3,3,4,5,6,7,8,9
randint()
range(1,10) 1,2,3,4,5,6,7,8,9
range(3,7) 3,4,5,6 randrange()
range(2,15,3) 2,5,8,11,14
range(9,2,-1) 9,8,7,6,5,4,3

eval() à cast int o float según sea el caso


round(x,y) à redondea x con y decimales
Usando diferentes print()
x, y, z=5, 10, 15 print(“Los numeros son:”, x, y, z)

print(“Los numeros son:”+ x+ y+ z)


print(“Los numeros %d, %d, y %d”% ( x, y, z))

print(“Los numeros”+ x+ “,” + y+ “y” + z)

• print(x, y, z, end=“---”) print(x, y, z, sep=“---”)


Ejercicios

• Escriba un programa que pida una cadena de caracteres. El programa deberá mostrar por
pantalla lo siguiente:
Ø El número total de caracteres
Ø La cadena repetida 5 veces separada por un enter
Ø Los tres primeros caracteres de la cadena
Ø Los tres últimos caracteres de la cadena
Ø La cadena escrito al reves (Hola à aloH)
Ø La cadena en mayúsculas
Ø La cadena con cada letra “a” remplazada por una “e”
Ejercicios
Ø Escriba un programa que pida una cadena de caracteres de 6 letras, luego
muestre cada letra de la cadena escrita doble en mayúsculas y separada por
un guióm. Por ejemplo: s=‘Helado’
HH-EE-LL-AA-DD-OO
Ø Escriba un programa en el que pida 3 cadenas de caracteres: una materia, un
adjetivo y una actividad. Deberámostrar por pantalla el siguiente párrafo con
el siguiente formato (Utilizar un sólo print). Por ejemplo:
Ejercicios

Ø Escriba un programa que pida por teclado la hora en formato hh:mm:ss y convierta todo a
segundos.
Ø Escriba un programa que pida por teclado los segundos (mas de 3600) y muestre por pantalla
la hora en formato hh:mm:ss
Ø Escriba un programa en el que genere un número aleatorio entre 1 y 50 y otro número
aletorio entre 2 y 5. Muestre ambos números y la multiplicación de ellos
Ø Escriba un programa que genere un número decimal entre 1 y 25 y muestre por pantalla
dicho número con 2 decimales.
Ø En cálculo la derivada de x^4 es 4x^3, la derivada de x^5 es 5x^4. Escriba un programa que
permita el ingreso de una ecuación y muestre por pantalla la derivada de la misma.
IMPORT MATH

http://www.pythonschool.net/basics/string-operation-and-math-unit-exercises/
2.5 Operaciones con Listas
COLECCIONES
• Una colección es un Zpo de dato que agrupa
varios elementos en una misma unidad. Se
uZlizan para almacenar, recuperar,
manipular y comunicar una agregación de
datos.

² Fuente: h^ps://www.iconfinder.com
COLECCIONES

• Representan ítems que forman una


agrupación natural como una mano
de poker (una colección de cartas),
una carpeta de correos (una
colección de cartas), un directorio
telefónico (un mapeo de nombres
hacia números telefónicos).
TIPOS DE COLECCIONES
• Python tiene los siguientes tipos de colecciones:
• Listas
• Tuplas
• Conjuntos
• Diccionarios
LISTAS
§ La lista es un 4po de colección ordenada. Pueden contener cualquier
4po de dato: número, cadenas, booleanos, ... y también listas.
§ Crear una lista es tan sencillo como indicar entre corchetes y
separados por comas, los valores que se desea incluir en la lista:
¿Por qué usar listas?
¿Cómo procesar los datos no estructurados,
complejos, dispersos?

Organizando nuestros datos mediante listas

ü Listas de amigos
ü Listas de clientes
ü Listas de compras
ü Listas de cosas que hacer
Convirtiendo los datos a una lista Python
1) Convertir cada uno de los nombres a string ubicando las comillas al inicio
y al final (en el caso de cadenas de caracteres). Si se trata de tipos enteros
o float, agregarlos directamente.
2) Separar cada elemento de la lista con una coma.
3) Encerrar la lista de elementos con corchetes [ ].
4) Asignar la lista a una variable usando el operador de asignación ( = )
Listas

ps = [10, 20, 30]


qs = [”manzana”, ”queso”, “perro”, “Roger”]
zs = [”hola”, 2.0, 5, “chao”]
as = [ ]

TIP:
Al declarar las variables en Python NO se necesita especificar su tipo.
Operaciones con Listas
Funciones de Python (aplicadas a listas)

len() • Número de elementos en una lista.

min() • Valor mínimo en una lista*

max() • Valor máximo en una lista*

sum() • Suma de los números de una lista.*

* Aplica entre el mismo jpo de datos.


Indexación - lista [i]
>>> peliculas = [‘Rapidos y Furiosos’, ‘Avengers’, ‘Spiderman’]

Item 0 Item 1 Item 2

>>> print(películas[1])
Avengers
Accediendo a los elementos
>>> frutas= ["manzana", 'pera', 'uva', "durazno"]
>>> frutas
['manzana', 'pera', 'uva', 'durazno']
>>> frutas[5-8]
'pera'
>>> frutas[1.0]
Traceback (most recent call last): File "<pyshell#45>", line 1,
in <module> cast[1.0]
TypeError: list indices must be integers or slices, not float
SLICING LISTAS
>>> pares = [0,2,4,6,8]
• Índice positivo [índice]: >>> pares[-1]
• Desde cero hasta el parámetro -1. 8
• Número entero >>> pares[1] = 9
• “Indice -1” ultimo ítem. >>> pares
[0,9,4,6,8]

>>> pares[1:3]
• Slicing:
[2, 4]
[ínicio : fin-1] >>> pares[:2]
[0, 2]
>>> pares[3:]
[6, 8]
>>> pares[:]
[0, 2, 4, 6, 8]

Recuerde que no puede crear un nuevo elemento de esta manera, es decir, asignar un nuevo valor a un elemento no
existente.
Búsqueda: lista.index(x)
§ Devuelve el índice en la lista del primer item con valor igual a x. Si
no encuentra devuelve error.
lista.count(x)
§ Devuelve el número de veces que el elemento x está en la lista.
Pertenencia de elementos en una lista
Para evaluar si un elemento pertenece a una lista
u4lizamos los operadores booleanos in and not
in.

>>> az = ["pera", "uno", 2, 3.5 ]


>>> if 'pera' in az:
print("Me encanta la pera")
Concatenación de listas
El operador + concatena dos o más listas.

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = a+b
>>> c
[1, 2, 3, 4, 5, 6]
Añadir elementos

El operador + también añade elementos a una lista

>>> x = []
>>> x = x + ['uno']
>>> x
['uno']
>>> x = x + ['dos']
>>> x['uno', 'dos']
Añadir elementos

El operador + también añade elementos a una lista

>>> i=20
>>> x=x+i
TypeError: can only concatenate list (not
"int") to list
Multiplicación de listas
El operador * repite la lista dado un número de
veces

>>> [0] * 4
[0, 0, 0, 0]
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
Mutabilidad: asignación de items
Las listas son mutables, lo que significa que
podemos cambiar sus elementos.

>>> az = ["pera", "uno", 2, 3.5 ]


>>> az[2] = "durazno”
>>> az[3] = 1
>>> az
['pera', 'uno', 'durazno', 1]
Eliminación de items
del elimina un elemento de una lista

>>> az = ['pera', 'uno', 'durazno', 1, 3, 4.5, 'manzana']


>>> del az[3]
>>> az
['pera', 'uno', 'durazno', 3, 4.5, 'manzana']
>>> del az[3:]
>>> az['pera', 'uno', 'durazno']
>>> del az[2:3]
>>> az
['pera', 'uno']
Eliminación de items
del elimina un elemento de una lista

>>> az['pera', 'uno']


>>> del az[3]
Traceback (most recent call last): File "<pyshell#24>",
line 1, in <module> del az[3]
IndexError: list assignment index out of range
Clonar una lista

>>> a = [1, 2, 3]
>>> b = a
>>> a[1] = 'cambio’
>>> a
[1, 'cambio', 3]
>>> b
[1, 'cambio', 3]

Aliasing
Clonar una lista

>>> a = [1, 2, 3]
>>> b = a[:]
>>> b[1, 2, 3]
>>> a[1] = 'cambio'
>>> a
[1, 'cambio', 3]
>>> b
[1, 2, 3]
Escribir un programa que retorne el menor
valor de una lista
lista = [ 6., 8. , 9.3, 2., 4.0, 1.3 ]
menor = float('inf')
for val in lista:
if val
_____________:
< menor
_____________
menor = val
print('El menor de la lista es: ', menor)
Escribir un programa que retorne el mayor
valor de una lista
lista = [ 6., 8. , 9.3, 2., 4.0, 1.3 ]
mayor = float(’-inf')
for val in lista:
if val
_____________:
> mayor
_____________
mayor = val
print('El mayor de la lista es: ', mayor)
Escribir un programa que cuente las
ocurrencias de un elemento
l = [1,2,3,2,2,1,3,4,2,6,4,5]
num_buscar=2
contador=0
for elemento in l:
if elemento == num_buscar:
contador+=1
print(“El número %d se repite %d veces” % (num_buscar,contador))
Escribir un programa que retorne el índice de
la primera ocurrencia de un elemento
lista_sample = [1,2,3,2,2,1,3,4,2,6,4,5]
print (lista_sample)
val = 6
print ("Indice:", lista_sample.index(val))

val = 10
print ("Indice:", lista_sample.index(val))
Escribir un programa que retorne el índice de
la primera ocurrencia de un elemento
lista_sample = [1,2,3,2,2,1,3,4,2,6,4,5]
print (lista_sample)
val = 10
if val in lista_sample:
print ("Indice:", lista_sample.index(val))
else:
print(“Valor no está en la lista”)
Métodos de las listas
retornan un valor y no cambian la lista
Método Descripción
lista.count(value) Retorna el numero de
ocurrencias del elemento
lista.index(value) Retorna el índice donde el
valor aparece por primera
vez
lista.index(value, start) Retorna el índice donde el
valor aparece por primera
vez, dependiendo de una
posición de inicio.
Métodos de las listas
retornan una lista y no cambian la lista

Método Descripción
lista.copy( ) Crea una lista con los
mismos elementos.
Métodos de las listas
cambian la lista y no retornan valor

Método Descripción
lista.append(value) Añade un valor a la lista
lista.remove(value) Elimina un valor de la lista
lista.insert(index, value) Añade un valor en un índice determinado.
lista. reverse() Cambia la lista a un orden inverso
lista. sort() Ordena la lista (de menor a mayor)
lista.clear( ) Borra todos los elementos de la lista
Métodos de las listas
cambian la lista y retorna un valor
Método Descripción
lista.pop() Retorna el último valor de la
lista y lo elimina.
lista.pop( index ) Retorna el valor que se
encuentra en el índice y lo
elimina de la lista.
Escribir un programa que elimine los
elementos repetidos de una lista
Manejo de Strings como Listas
Strings
Una cadena de caracteres o string es una
secuencia (lista) de caracteres que usualmente
contiene texto.

Creación:
cadena = “hola mundo”
cadena = ‘hola mundo’
cadena = ‘’
cadena = “ ”
Strings
Una cadena de caracteres o string es una
secuencia (lista) de caracteres que usualmente
contiene texto.

Dividir la cadena:
cadena = “hola mundo”
cadena.split(‘ ’)
cadena.split(‘r’)
Strings
Una cadena de caracteres o string es una
secuencia (lista) de caracteres que usualmente
contiene texto.

Unir una lista de cadenas:


palabras = [‘esto’,’es’,’una’,’lista’,’de’,’palabras’]
‘ ‘.join(palabras)
‘HOLA’.join(palabras)
‘’.join(palabras)
Ejercicio # 3
Determine la salida del siguiente código:
Comparación de Listas
Comparación de Listas
Ejercicio # 1
Escribir un programa en python que permita el ingreso de dos parámetros.
Primer parámetro: una cantidad de números enteros positivos hasta que el usuario
escriba -1.
Segundo parámetro: un número.
Al finalizar el programa deberá mostrar los números ingresados en el primer parámetro
mayores al segundo parámetro. Por ejemplo:
Ejercicio # 2
Usted elaborará un programa que permita el ingreso de 15
números (positivos y negativos). Al finalizar deberá mostrar
por pantalla tres listas:
• Lista de números ingresados por el usuario.
• Lista de números positivos, y,
• Lista de números negativos.
Ejercicio # 4

Diseñe una “calculadora Pokémon” la cual, dada una lista con los nombres de los
especímenes, pida al usuario que ingrese los puntos de ataque (PA) y de defensa
(PD) de cada pokemon. Calcule sus puntos de combate (PC) en base a la siguiente
fórmula: CP= (PA+PD)*1.2

Muestre por pantalla el CP promedio de todos los pokemones, el pokémon con


mayor CP y el pokemon con el menor CP.

pokemons=
[“omanyte”,”blastoise”,”venomoth”,”alakazam”,”vulpix”,”machop”,”rapidash”]
Ejercicio # 5
Escriba un programa que dada la lista a=[2,4,6,8,10] devuelva lo siguiente:
Resumen: LISTAS

Función
Función Descripción
Descripción
len(Lista)
len(Lista) Retorna el número de elementos de la lista.
min(Lista)
min(Lista) Retorna el mínimo de los elementos de la lista.
max(Lista)
max(Lista) Retorna el máximo de los elementos de la lista.
sum(Lista)
sum(Lista) Retorna la suma de los elementos de la lista.
del(Lista)
del(Lista) Elimina la lista.

promedio = sum(L)/len(L)

https://docs.python.org/3.2/library/functions.html#max
Bibliografía
• Rodríguez, Luis. Python Programación Luis Rodríguez, Python
Programación.
• Downey, A., Elkner, J., & Meyers, C. (2012). How to think like a
computer scientist: learning with python. Green Tea Press, Wellesley,
Massachusetts.

También podría gustarte