Vous êtes sur la page 1sur 40

CCPG1001

Fundamentos de Programación

Unidad 2 – Variables y Tipos de Datos


Contenido
2.1 Tipos de Datos, Operadores Lógicos y Relacionales.
2.2 Conversiones entre Tipos de Datos y Manejo de Entrada-Salida.
2.3 Operaciones con Cadenas de Caracteres.
2.4 Aleatoriedad.
2.4 Operaciones con Listas.
Objetivos
• Seleccionar los tipos de datos y los operadores lógicos y relacionales apropiados para
escribir expresiones validas en un lenguaje de programación.
• Utilizar 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 tipos de datos para escribir expresiones válidas
en un lenguaje de programación.
• Usar funciones de lenguaje de programación para manipular cadenas de caracteres.
• Utilizar métodos de cadenas para manipular texto y resolver problemas.
• Construir expresiones numéricas y booleanas que incluyan variables para el desarrollo
de programas sencillos.
• Aplicar funciones para generar números aleatorios y utilizarlos en un programa.
• Seleccionar los tipos de datos y los operadores lógicos apropiados para escribir
expresiones válidas en un lenguaje de programación
¿Cuál es la salida de la siguinte secuencias?

>>> cadena = "Hola Mundo"


>>> print (cadena.upper())

>>> print (cadena)


Recuerda
• Las cadenas de caracteres son inmutables, por lo tanto los métodos
con cadena de caracteres no modifican la cadena original sino que
devuelven uno nuevo.
El método upper() devulve
>>> cadena = "Hola Mundo" una nueva cadena de
>>> print (cadena.upper()) caracteres con todos los
HOLA MUNDO caracteres en mayúscula
>>> print (cadena)
Hola Mundo

La cadena original fue


modificada
Recuerda
• Si queremos modificar la cadena original, debemos reasignar a la
varibale el resultado del método

>>> cadena = "Hola Mundo"


>>> cadena = cadena.upper()
print (cadena)
HOLA MUNDO
Ejercicio en Clase
• Escriba un progama que pida una cadena de caracteres. El programa
deberá mostrar por pantalla lo siguiente:
1. El número total de caracteres
2. La cadena repetida 5 veces separada por un enter
3. Los tres primeros caracteres de la cadena
4. Los tres últimos caracteres de la cadena
5. La cadena escrito al reves (Hola à aloH)
6. La cadena en mayúsculas
7. La cadena con cada letra “a” remplazada por una “e”
Taller 2.3
1. Escriba un programa que pida por teclado la hora en formato
hh:mm:ss y convierta todo a segundos.
2.9 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 números 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.0, 1.0)
randint(a,b) Genera un número entero aleatorio enntre a y b (incluyendo a y b)
randrange(stop) Genera un número entero aleatorio entre 0 y stop-1
randrange(start,stop) Genera un número entero aleatorio entre start y stop-1

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

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

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


(desplaza en 1 el resultado)
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
Taller 2.4
• 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.10 Introducción a Listas
2.10.1 Características de las Colecciones
COLECCIONES
• Una colección es un tipo de dato que agrupa varios elementos en
una misma unidad. Se utilizan para almacenar, recuperar,
manipular y comunicar una agregación de datos.

² Fuente: https://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).
2.10.2 Tipos de Colecciones
TIPOS DE COLECCIONES
• Python tiene los siguientes tipos de colecciones:
• – Listas
– Tuplas
– Diccionarios
LISTAS
• La lista es un tipo de colección ordenada. Pueden contener cualquier
tipo de dato: números, 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:

peliculas = [“guardines de la galaxia 2”,


“wonder woman”,
“spiderman”]
LISTAS
§ Una misma lista puede contener múltiples tipos de dato.
LISTAS
• Como las cadenas de caracteres (y todos los otros tipos sequence
integrados), las listas pueden ser indexadas y rebanadas:
0 1 2

peliculas = [“guardines de la galaxia 2”, “wonder woman”, “spiderman”]

-3 -2 -1

>>>peliculas[0] devuelve item en indice 0


“guardianes de la galaxia 2”
>>>peliculas[2] devuelve item en indice 2
“spiderman”
LISTAS
• Usando la propiedad de slicing podemos obtener secciones de las
listas.
0 1 2

peliculas = [“guardines de la galaxia 2”, “wonder woman”, “spiderman”]

-3 -2 -1

>>>peliculas[1:]
[“wonder woman”,“spiderman”]
>>>peliculas[:2]
[“guardines de la galaxia 2”, “wonder woman”]
>>>peliculas[:]
[“guardines de la galaxia 2”, “wonder woman”, “spiderman”]
2.10.3 Operaciones con Listas
El operador + y *
• El operador + añade elementos de una lista al final de otra.
• El operador * repite una lista n veces.

Expresión Resultado
[“hola”,1, 2] + [3, “python”] [“hola”, 1, 2, 3, “python”]
[0] * 5 [0,0,0,0,0]
[7,8] * 3 [7,8,7,8,7,8]
L1 = [2,3]; L2 = [5,6]; L1+L2 [ 2,3,5,6 ]
Lista1 + Lista2
§ Para unir dos listas es posible utilizar el operador +.
x in lista
§ Devuelve True si el valor de x se encuentra dentro de la lista, caso
contrarion False.
Listas son Mutables
• Las listas son mutables, es decir podemos cambiar el contenido de
una lista.

peliculas = [“guardines de la galaxia 2”, “wonder woman”, “spiderman”]

>>>peliculas[1]=“iroman”
>>>print(peliculas)
[“guardines de la galaxia 2”,“iroman”,”spiderman”]
lista.append(elemento)
• Agrega el elemento al final de la lista (modifica la lista)

peliculas = [“guardines de la galaxia 2”, “wonder woman”, “spiderman”]

>>> peliculas.append(“avengers”)
>>> print(peliculas)
[“guardines de la galaxia 2”, “wonder woman”, “spiderman” , “avengers”]
del(lista[i])
§ Elimina el item del índice i de la lista (modifica la lista).

peliculas = [“guardines de la galaxia 2”, “wonder woman”, “spiderman”]

>>> del(peliculas[1])
>>> print(peliculas)
[“guardines de la galaxia 2”, “spiderman”]
2.10.5 Funciones de Listas
Resumen Listas
DESCRIPCIÓN COMANDO EJEMPLO
Creación de Lista Lista = [valor1, valor2] L1=["Ford","Mazda","Chrysler"]
Devuelve valor del item en índice i Lista[i] L1[2]
Unir dos o mas listas Lista1 = Lista2 + Lista3 L2=["Jeep","Chevrolet","Toyota"]
L1+=L2 L1=L1+L2
Existe el item dentro de la lista? x in Lista "Chevrolet" in L1
Agregar Elemento a la lista Lista.append(elemento) L1.append(“chevrolet”)
Borrar item de la lista del(Lista[x]) del(L1[3])
Cuántos items hay en la lista? len(Lista) len(L1)
Taller – Ejercicio 1
• SoftGames lo ha contratado a Ud. para desarrollar una nueva versión del
Ahorcado.
• En esta nueva versión del Ahorcado, su palabra tomará una palabra al azar
de una lista de palabras básicas. Para adivinar la palabra, su programa
mostrará la primera y última letra; mientras que mostrará tantos guiones
bajo como la cantidad de letras existan en la palabra. Por ejemplo, sí la
palabra es: “camino”, su programa mostrará “c _ _ _ _ o”
• Luego, su programa solicitará que ingrese una palabra, la que será
comparada con la palabra escogida al azar. Finalmente, su programa
mostrará el resultado (True o False) de la comparación entre las palabras.
Taller – Ejercicio 1
• A continuación, dos ejemplos de su programa en ejecución.
Solición Taller
Próxima Clase – 3/Oct/2017

• Lección de la Unidad 2
• Tarea
Instrucciones TAREA
• Intentar solucionar cada problema en papel antes de probarlo en la
computadora con Python.
• Cree un archivo de Python (<archivo>.py) por cada problema enumerando
cada archivo. Por ejemplo: problema1.py, problema2.py, problema3.py
• Comprimir todos los archivos en un solo zip con el siguiente formato:
DEBER2_<NOMBRE_COMPLETO>.(.rar or .zip)
• Ejemplo: DEBER2_CARLOS_EFRAIN_PEREZ_ZAMBRANO.zip
• Copia o plagio tiene CERO para todos los involucadros. Un Sistema
automático ayuda a evaluar. Además, de las sanciones especificadas en el
reglamento de la ESPOL.
• No usar condicionales ni estructuras de control para ninguno de los ejercicios.

Vous aimerez peut-être aussi