Sie sind auf Seite 1von 41

CCPG1001

Fundamentos de Programacin

Unidad 2 Variables y Tipos de Datos


Contenido
2.1 Tipos de Datos Primitivos
2.2 Definicin y Asignacin de Variables
2.3 Operadores y Expresiones Matemticas, Lgicos y Relacionales.
2.4 Conversiones entre Tipos de Datos
2.5 Manejo de Entrada y Salida.
2.6 Formato de Salida
2.7 Cadenas de Caracteres.
2.8 Operaciones con Cadena de Caracteres
2.9 Aleatoriedad
2.10 Introduccin a Listas.
Objetivos
Seleccionar los tipos de datos y los operadores logicos y relacionales apropiados
para escribir expresiones validas en un lenguaje de programacion.
Utilizar sentencias de entrada y salida de datos con formato para la creacion de
programas sencillos.
Aplicar la precedencia de los operadores, el operador de asignacion y su uso, la
logica usada en las operaciones booleanas y los tipos de datos para escribir
expresiones validas en un lenguaje de programacion.
Usar funciones de lenguaje de programacion para manipular cadenas de
caracteres.
Utilizar metodos de cadenas para manipular texto y resolver problemas.
Construir expresiones numericas y booleanas que incluyan variables para el
desarrollo de programas sencillos.
Aplicar funciones para generar numeros aleatorios y utilizarlos en un programa.
Tipos de Datos Bsicos

Numricos

Lgicos
Cadenas
de
caracteres
type()
>>> 30 == 40
False >>> type(9.8)
>>> 25 > 12 <class 'float'>
True >>> type(58) >>> type(-0.69)
>>> type(True) <class 'int'> <class 'float'>
<class 'bool'> >>> type(-4)
<class 'int'>

>>> type("Fundamentos de Programacin")


<class 'str'>
>>> type('2016')
<class 'str'>
Creacin y Asignacin de Variables
La creacin de variables se realiza a travs de la asignacin de
un valor a la misma.
El operador de asignacin 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 ejecucin de nuestro algoritmo
Otras Asignaciones
Asignacin en la misma lnea:
x = 5; y = 9; z = 12

Asignacin mltiple:
day, month, year = mircoles,mayo, 2016

Asignacin del mismo valor:


largo = ancho = 4

Asignacin de intercambio:
base = 15; altura = 30
base, altura = altura, base
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 )
Salida (print)
Hay una funcin 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)
Resumen: Operaciones tipos de datos
numricos Operacin Descripicin
x+y Suma dos valores
x-y Resta dos valores
x*y Multiplica dos valores
x/y Divisin
x // y Divisin entera
x%y Mdulo (residuo) de la divisin
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
Especificadores de argumento

Argumento Tipo de dato


%s Cadena de caracteres
%d Entero
%f Nmero de puntos flotantes
%.<numero de digitos>f Nmeros de punto flotante con
una cantidad de nmeros fijos a la
derecha del punto.
Secuencias de Escape

Secuencia Accin
\\ Muestra el caracter backslash.
\ Muestra el caracter de comilla simple.
\" Muestra el caracter de comilla doble
\a Sonido de alerta.
\n Nueva lnea. Coloca el cursor al inicio de la siguiente lnea.
\t Tabulacin. Mueve el cursor avanzando en la misma lnea.
2.7 Cadena de Caracteres
Cadenas de caracteres
Las cadenas de caracteres es uno de los tipos de datos ms populares
en Python.
Se considera un tipo de dato compuesto porque estn hechas de
elementos ms pequeos llamados caracteres.
Se pueden crear utilizando comillas simples o dobles .
Sumar cadenas de caracteres
>>> print("Un divertido "+"programa "+"de "+ "radio")

'Un divertido programa de radio'


>>>
Multiplicar una cadena s por un nmero k

>>> print(3 * "programas )


'programas programas programas '

>>> print("programas " * 3)


'programas programas programas '
>>>
Trabajando con partes de una cadena
El operador corchete [] selecciona slo un caracter de una cadena:

>>> fruta = "banana"


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

Resultado???
La letra en la posicin dos (2)

TIP:
Las posiciones empiezan desde 1, los ndices desde 0.
ndices
A la expresin entre corchetes se le llama ndice.
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 expresin entera.
Tamao de una cadena de caracteres
La funcin len devuelve el nmero de caracteres de una cadena:

>>> fruta = "banana"


>>> len(fruta)
6
Si deseamos retornar la ltima letra de la cadena de caracteres?

longitud = len(fruta)
longitud = len(fruta)
ultima = fruta[longitud-1]
ultima = fruta[-1]
Ejemplo

>>> contrasenia = input(ingrese una contrasea)


>>> largo = len(contrasenia)
>>> encrypt = largo * *
>>> print(encrypt)
* * * * * * *
Segmentos de cadenas de caracteres - slices
Dividir la cadena de caracteres s=Fundamentos [inicio,fin,saltos*]
Code Result Descripcin Inicio: incluye
Fin: NO incluye
s[2:5] nda Caracteres en los indices 2,3,4. Saltos: opcional
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

Cmo se que URL es de Ecuador, Chile o Mxico?


url[-2:]
Bsqueda
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
>>> print(ento' in fundamentos)
True

>>> print(rama in programacin)


False

Devuelve un valor de True si la subcadena o caracter


se encuentra, caso contrario retorna False.
Bsqueda
Para buscar una subcadena (o un caracter) en una
cadena, solamente necesitamos saber si una cadena
contiene cierto caracter o cierta subcadena.
Usando la funcin index()
>>> cadena = fundamentos
>>> print(cadena.index(d'))
3
>>> print(cadena.index(i'))
# index() lanza una excepcin
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
Bsqueda
Para buscar una subcadena (o un caracter) en una
cadena, solamente necesitamos saber si una cadena
contiene cierto caracter o cierta subcadena.
Usando la funcin find()
>>> cadena = fundamentos
>>> print(cadena.find(dame'))
# si la cadena est, tanto index() como find() funcionan igual
3
>>> cadena.find(mente')
# mente' no est en fundamentos', find() retorna -1
-1
2.8 Operaciones con Cadena de Caracteres
Operaciones con cadenas de caracteres
Operacin Ejemplo Resultado
x in s dame in fundamentos True
x not in s dame not in fundamentos False
s+t funda + mentos fundamentos
s * n+n * s funda*2 + mentos*3 fundafundamentosmentosmentos Asumiendo que:
s[i] fundamentos[2] n
s[i:j] fundamentos[2:4] nd
s[i:j:k] fundamentos[1:8:2] udmn
x,s,t letra o string
len(s) len(fundamentos) 11 i, j, k, n numero
min(s) min(fundamentos) a
max(s) max(fundamentos) u
s.index(x) fundamentos.index(d) 3
Formato
Convertir a mayscula la primera letra
Funcin: capitalize()
Retorna: una copia de la cadena con la primera letra en maysculas.

>>> cadena = fundamentos de Programacin"


>>> print (cadena.capitalize())
Fundamentos de programacin
Formato
Convertir una cadena a minsculas
Mtodo: lower()
Retorna: una copia de la cadena en minsculas.

>>> cadena = FUNDAMENTOS de Programacin"


>>> print (cadena.lower())
fundamentos de programacin
Formato
Convertir una cadena a maysculas
Mtodo: upper()
Retorna: una copia de la cadena en maysculas.

>>> cadena = fundamentos de programacin"


>>> print (cadena.upper())
FUNDAMENTOS DE PROGRAMACIN
Formato
Convertir maysculas a minsculas y viceversa
Mtodo: swapcase()
Retorna: una copia de la cadena convertidas las maysculas en minsculas y viceversa.

>>> cadena = FundamentoS de ProgramaciN"


>>> print (cadena.swapcase())
fUNDAMENTOs DE pROGRAMACIn
Formato
Convertir una cadena en Formato Ttulo
Mtodo: title()
Retorna: una copia de la cadena convertida.

>>> cadena = fundamentos de programacin"


>>> print (cadena.title())
Fundamentos De Programacin
FUNCIONES CADENAS DE CARACTERES
Funcin Descripcin
s.lower() Devuelve un string con todos sus caracteres en minsculas.
s.upper() Devuelve un string con todos sus caracteres en maysculas.
s.replace(x,y) Devuelve un string con cada ocurrencia de x reemplazada por y.
s.count(x) Cuenta el nmero de ocurrencias de x en un string.
s.index(x) Devuelve la ubicacin de la primera ocurrencia de x.
a,b=split(x) Divide la cadena en N variables de acuerdo al carcter x
a,b=rsplit(x) Divide la cadena en N variables de acuerdo al carcter x (reverse)

s=s.lower()
Funciones con cadenas de caracteres
Funcin Descripcin
str.isalnum() Retorna True si la cadena es alfanumrica, caso contrario retorna
False
str.isalpha() Retorna True si la cadena es alfabtica, caso contrario retorna
False
str.isdigit() Retorna True si la cadena es numrica, 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 minsculas, caso contrario


retorna False

str.isupper() Retorna True si la cadena contiene solo maysculas, caso contrario


retorna False
Eliminar espacios en blanco a la izquierda y
derecha de una cadena
Funcin: strip(["caracter"])
Retorna: la cadena sustituida.
>>> cadena = " www.espol.edu.ec "
>>> print(cadena.strip())
www.espol.edu.ec

>>> cadena = fundamentos programacin


>>> print (cadena.strip(' '))
fundamentos programacin
Reemplazar texto
En Python esto lo hacemos con el mtodo replace
Funcin: replace("subcadena a buscar", "subcadena por la cual reemplazar")
Retorna: la cadena reemplazada.

>>> buscar = "nombre apellido"


>>> reemplazar_por = "Juan Prez"
>>> print ("Estimado Sr. nombre apellido:".replace(buscar, reemplazar_por) )
Estimado Sr. Juan Prez:
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 automticamente el intrprete 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.
2.9 Aleatoriedad
Aleatoreidad
Hasta ahora hemos seleccionado valores que el usuario ingresa o
valores predeterminados en nuestros programas
x=7
n_intentos = 3
Sera interesante si cada vez que corremos nuestro programa
podamos elegir un nmero aleatorio
random()
Para utilizar numeros aleatorios en nuestro programa, necesitamos
seguir los siguientes pasos:
1. Importar el mdulo random
2. Utilizar la funcin del mdulo random para generar el nmero aleatorio

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

randint(start, end) retorna un


nmero aleatorio entre el 1 y 10,
incluyendo ambos lmites.

Das könnte Ihnen auch gefallen