0% encontró este documento útil (0 votos)
22 vistas110 páginas

Semana1 Repaso PythonV2.1

El documento es un taller de programación que introduce los fundamentos de Python, incluyendo su instalación, tipos de datos, operadores, estructuras condicionales y listas. Se presentan ejemplos prácticos y ejercicios sobre cómo utilizar Python para resolver problemas básicos de programación. Además, se discuten las diferencias entre listas y tuplas, así como las funciones y métodos asociados a ellas.
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)
22 vistas110 páginas

Semana1 Repaso PythonV2.1

El documento es un taller de programación que introduce los fundamentos de Python, incluyendo su instalación, tipos de datos, operadores, estructuras condicionales y listas. Se presentan ejemplos prácticos y ejercicios sobre cómo utilizar Python para resolver problemas básicos de programación. Además, se discuten las diferencias entre listas y tuplas, así como las funciones y métodos asociados a ellas.
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/ 110

Taller de Programación II

Fundamentos de Programación
Repaso de Python Básico

Docentes:
Loreto Marín Carcey
Piero Montenegro Zamora
¿Qué es Python?

• Lenguaje de programación “multipropósito”


• Interpretado (no compilado)
• Python puede ser interpretado desde:
La consola de Python (o Python Shell)
Archivos de texto con extensión .py en un editor de código
• Instalar la versión de Python 3.8.X (no soportada por Windows X P y previos)

2
Entorno de Desarrollo Integrado (IDE)

• Un IDE facilita la escritura de código al incluir asistencias al momento del desarrollo:

o Autocompletar

o Python shell en el mismo lugar

o Listado de archivos del proyecto

o Ejecución y Depuración de código

• El que usaremos (recomendado) en el módulo es Visual Studio Code


IDE online: repl.it

• También disponemos de una opción muy popular y online:


https://replit.com/

• Permite codificar de forma colaborativa, con otros compañeros.

• Vamos a probarlo!

15
Tipos de datos

Números enteros (int)


>>> 1
>>> +133
>>> -392

Números reales (float)


>>> -0.22
>>> .1
>>> 3.22e34

Valores lógicos (bool)


>>> True
>>> False
Tipos de datos

Texto (str)

>>> “Hola”
>>> ‘Hola’
>>> “Bernardo O’Higgins”
>>> ‘Le decían “usted”‘
Expresiones y operadores
• Expresión: combinación de valores y operadores que al ser evaluados entregan
un resultado.

• Operador: símbolo en una expresión que representa una operación aplicada a los
valores.

• Operadores aritméticos:
- Suma (+)
- Resta (-)
- Multiplicación (*)
- División (/)
- División entera (//)
- Módulo (%)
- Potencia (**)
Ejemplos de expresiones

>>> 2 * 3 + 4
10

>>> ‘hola ’ + ‘mundo’


‘hola mundo’

>>> x = 3.5
>>> 5 + x ** 2
17.25

>>> abs(x – 10)


6.5
Operadores aritméticos

>>> 832 + 123


955
>>> 1.22 * 6
7.32
>> 15 / 4
3.75
>> 15 // 4
3
>> 1.2 ** 2
1.44
>> 15 % 4
3
Operadores lógicos

>>> not False


True

>>> (True or (not True)) and (not False)


True

>>> ((3 + 4) < 1) and ((2 * 3) ** 2 >= 5)


False

>>> ((3 + 4) < 1) or ((2 * 3) ** 2 >= 5)


True
Operadores de texto

>>> ‘bienve’ + ‘nido’


‘bienvenido’

>>> “tagua” * 2
‘taguatagua’

>>> ‘ama’ in ‘amarillo’


True

>>> ‘amara’ in ‘amarillo’


False

>>> len(‘amarillo’)
8
Llamado a funciones y uso de bibliotecas

>>> abs(62-500)
438

>>> round(79.5)
80

>>> from math import exp


>>> exp(2)
7.38905609893065

>>> from random import randint


>>> randint(1, 20)
4
Precedencia de operadores
• Las expresiones se evalúan siguiendo las siguientes reglas, de menor a
mayor:

1. +, -
2. *, /, //, %
3. +x, -x, (unario)
4. **
5. abs(), randint() (llamada a funciones)
6. (, ) (paréntesis)
Conversión entre tipos de datos

• >>> int(3.5)
3

• >>> float(“39”)
39.0

• >>> str(25)
“25”

• >>>bool(0.0)
False
Asignación de variables
• La asignación de variables es de la siguiente forma:

<variable> = <expresión>
1 . S e evalúa la expresión
2 . S e asigna el resultado de la evaluación, a la variable
¿ C o n qué valor quedan las siguientes variables?
>>> a = 4 + 6
>>> b = a + 4
>>> a = 2
>>> d = a – 3
>>> e = e + 1
Asignación de variables

¿Con qué valor quedan las siguientes variables?

>>> a = 4 + 6
>>> b = a + 4
>>> a = 2
>>> d = a - 3
>>> e = e + 1
Entradas y salidas

• Entrada de datos

nombre = input(“Ingrese su nombre: ”)


edad = int(input(“Ingrese su edad: “))
estatura = float(input(“Ingrese su estatura”)
Entradas y salidas
• Salida de datos

print(“hola mundo”)

a = 10
x = a ** 2
print(a, ‘al cuadrado es’, x)

print(a, x)

print(a)
print(x)
Comentarios en el código

#A continuacion se muestra la suma de 2+2


print(2 + 2)
Condiciones en
Python

4
9
¿Dónde estamos?

Introducción a Python 3
⮚ Estructuras condicionales
• Estructuras repetitivas
• Funciones y strings
• Estructuras de datos
• Listas y tuplas
• Diccionario y conjuntos
• Archivos
21
Qué veremos en este bloque

• Operadores relacionales y lógicos


• Sentencias condicionales (if, if-else, if-elif-else)

22
Operadores relacionales

Comparan valores teniendo siempre como resultado un valor lógico.

• Igual a (==)

• Distinto (!=)

• Mayor que (>)

• Menor que (<)

• Mayor o igual que (>=)

• Menor o igual que (<=) 43


Operadores lógicos

Tienen operandos y el tipo de resultado es un valor lógico.

• Conjunción lógica: and

• Disyunción lógica: or

• Negación Lógica: not

24
Sentencias condicionales: if

La sentencia if ejecuta las instrucciones sólo si la condición se hace


verdadera. En caso de que la condición sea falsa, no se ejecutan.

Sintaxis:

if condición:
instrucciones

Atención con la “sangría”. A esto


llamamos: indentación
Así le indicamos a Python que dichas
instrucciones están dentro de la
estructura if.
25
Sentencias condicionales: if

26
Sentencias condicionales: if
Ejemplo:

Escriba un programa que pida al usuario tres notas, y lo felicite si su promedio


es mayor a 80.

Nota 1: 80
Nota 2: 33
Nota 3: 20
Su promedio es 44

Nota 1: 100
Nota 2: 100
Nota 3: 80
Su promedio es 93
Felicitaciones!
47
Sentencias condicionales: if-else

La sentencia if-else ejecuta cierto grupo de instrucciones


dependiendo de si la condición es verdadera o falsa.

Sintaxis:

if condición:
instrucciones en caso verdadero
else:
instrucciones en caso falso

28
Sentencias condicionales: if-else

29
Sentencias condicionales: if-else
Ejemplo:

Escriba un programa que pida al usuario ingresar tres notas, e indique si


aprobó o no. Considere que la escala es de 0 a 100, y se aprueba desde 55.

Nota 1: 79
Nota 2: 40
Nota 3: 10
Usted reprobo con 43

Nota 1: 99
Nota 2: 100
Nota 3: 56
Usted aprobo con 85 50
Sentencias condicionales: if-elif-else
La sentencia if-elif-else depende de dos o más condiciones. L a primera que sea
verdadera determinará qué instrucciones se ejecutarán.

Sintaxis:
if condición1:
instrucciones si condición 1 es verdadera
elif condición2:
instrucciones si condición 2 es verdadera
elif condición3:
instrucciones si condición 3 es verdadera
...
else:
instrucciones en caso que nin51guna de las anteriores fue verdadera
Sentencias condicionales: if-elif-else

52
Sentencias condicionales: if-elif-else
Ejemplo:

Escriba un programa que pida al usuario tres notas, e indique si su promedio


es pésimo (< 30), mediocre (30 a 54), aceptable (55 a 79) o excelente (>= 80).

Nota 1: 32
Nota 2: 90
Nota 3: 99
Su promedio 74 es aceptable

Nota 1: 80
Nota 2: 100
Nota 3: 91
Su promedio 90 es excelente!

53
Listas y Tuplas

Módulo 2: Fundamentos de Docentes:


Loreto Marín Carcey

Programación Piero Montenegro Zamora


¿Dónde estamos?

 Introducción a Python 3
 Estructuras condicionales
 Estructuras repetitivas
 Funciones y strings
 Estructuras de datos
 Listas y tuplas
• Diccionario y conjuntos
• Archivos
2
Listas

3
Qué veremos en este bloque

• Listas
• Crear, agregar, modificar
• Operaciones
• Funciones y métodos de listas
• Recorrido sobre listas

4
Listas

• Una lista es una colección de valores de cualquier tipo. Por lo general,


una lista se usa con elementos del mismo tipo.

• Una lista es mutable, es decir, pueden modificarse agregando,


eliminando o actualizando valores.
Crear listas

>>> lista1 = []

>>> lista2 = list()

>>> lista3 = [1, 2, 3, 4]

>>> lista4 = [[1,2], [3,4], [5,6]]

>>> lista5 = [‘hola’, [1,2], 1]


Agregar cosas a una lista

>>> valores = []
>>> valores.append(5)

>>> valores.append(10)

>>> valores.append(6)

>>> valores
[5, 10, 6]

>>> valores.append(-3)
[5, 10, 6, -3]
Agregar valores a una lista usando range()

>>> valores = list(range(5))


>>> valores
[0, 1, 2, 3, 4]

>>> list(range(3, 8))


[3, 4, 5, 6, 7]

>>> list(range(5, 1))


[]

>>> list(range(5, 1, -1))


[5, 4, 3, 2]
Acceder a elementos de una lista

• >>> nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]


• >>> nombres[0]
• ‘Juan’

• >>> nombres[-1]
• ‘Martin’

• >>> nombres.index(‘Pedro’) 1

• >>> len(nombres) 4
Modificar elementos de una lista (mutable)

• >>> nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]

• >>> nombres[0] = ‘Juanito’

• >>> nombres
• [‘Juanito’, ‘Pedro’, ‘Ana’, ‘Martin’]
Operaciones sobre listas

1. Concatenación de listas (+)

2. Repetición de listas (*)

3. Verificación si un elemento está en la lista

4. Eliminación de un elemento por posición


1. Concatenación de listas (+)

>>> a = [1, 2, 3, 4]
>>> b = [5, 6, 7, 8]
>>> c = a + b
>>> d = b + a
>>> c
[1, 2, 3, 4, 5, 6, 7, 8]
>>> d
[5, 6, 7, 8, 1, 2, 3, 4]
2. Repetición de listas (*)

>>> a = [1,4,6]
>>> b = a * 3
b
[1, 4, 6, 1, 4, 6, 1, 4, 6]
3. Verificar si un elemento está en la lista

a = [1,2,3,4]
>>> 10 not in a
True

>>> 6 in a
False
4. Eliminación de elementos de una lista

• >>> nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]

• Por posición:

• >>> del nombres[2]


• >>> nombres
• [‘Juanito’, ‘Pedro’, ‘Martin’]
Funciones sobre listas

>>> edades = [10, 3, 18, 22]


>>> len(edades)
4
>>> sum(edades)
53
>>> min(edades)
3
>>> max(edades)
22
Funciones sobre listas

>>> edades = [10, 3, 18, 22]


>>> len(edades)
4
>>> sum(edades)
53
>>> min(edades)
3
>>> max(edades)
22
Métodos de listas
Asuma que tiene una lista de nombre: l
• Agregar un elemento x: l.append(x)

• Agregar un elemento x en posición i: l.insert(i, x)

• Contar aparición de un elemento x: l.count(x)

• Obtener el índice de un elemento x: l.index(x)

• Eliminar un elemento x: l.remove(x)

• Invertir una lista: l.reverse()

• Ordenar una lista: l.sort()


Recorrido de listas usando while

nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]


i = 0
while i < len(nombres):
print(nombres[i])
i += 1

Recorrido de listas en paralelo:

nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]


edades = [10, 3, 18, 22]
i = 0
while i < len(nombres):
print(nombres[i], ‘tiene’, edades[i], ‘anios’)
i += 1
Recorrido de listas usando for
nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]
for nombre in nombres:
print(nombre)

Recorrido de listas en paralelo:

nombres = [‘Juan’, ‘Pedro’, ‘Ana’, ‘Martin’]


edades = [10, 3, 18, 22]
for i in range(len(nombres)):
print(nombres[i], ‘tiene’, edades[i], ‘anios’)
Operador slice [:]

>>> lista = [1, 3, 5, 7, 9, 11, 13]

>>> lista[3:5]
[7, 9]

>> lista[3:]
[7, 9, 11, 13]

>>> lista[:3]
[1, 3, 5]

>>> lista[::-1]
[13, 11, 9, 7, 5, 3, 1]
TUPLAS

• Qué son
• Creación de tuplas
• Desempaquetado
• Usos recomendados
• Listas de tuplas

28
Tuplas

• Estructuras de Python que permiten almacenar una colección de valores.

• Se diferencian de las listas, principalmente porque son inmutables (no


cambian luego de su creación).

• Recomendadas para agrupar valores que por su naturaleza, deben ir


juntos.
Creación de tuplas

>>> t1 = tuple()
>>> t2 = ()

>>> t3 = (1, 2, 3)
>>> t4 = (1, (1,2), True, ‘hola’)
Desempaquetado de tuplas

>>> tupla = (‘Subaru’, ‘Forester’, 2020)


>>> marca, modelo, anio = tupla
>>> print(modelo)
Forester

persona = (‘Arturo’, ‘Prat’, 1848)


>>> print(tupla[2])
Comparación de tuplas

Dos tuplas son iguales cuando tienen el mismo largo y los elementos son idénticos.
>>> (3, 3, 0) == (3, 3)
False
>>> (1, 2, 3) == (1, 2, 0)
False
>>> (1, 2, 3) == (1, 2, 3)
True
Para saber si una tupla es mayor o no a otra, se comparan los elementos en la
primera posición que sean distintos.
>>> (1,
True
>>> (1, 4, 5, 0) < (1, 4, 7)
True
2) < (1, 2, 4)
Uso recomendado de tuplas

Agrupar elementos que deben ir juntos

>>> carta = (5, ‘corazones’)


>>> triangulo = ((5, 1), (2, 4), (-2, 0))
>>> alumno = (‘Juan’, ‘Perez’, ‘11111111-1’)

Representar fechas

>>> (2020, 4, 1) > (2020, 3, 1)


True
Listas de tuplas
autos = [
(‘Subaru’, ‘Forester’, 2019),
(‘Kia’, ‘Sportage’, 2020),
(‘Hyundai’, ‘Santa fe’, 2018),
(‘Chevrolet’, ‘Captiva’, 2010),
(‘Renault’, ‘Duster’, 2020),
]

for marca, modelo, anio in autos:


print(modelo, ‘del anio’, anio)

for i in range(len(autos)):
print(autos[i][1] ‘del anio’, autos[i][2])
Listas de tuplas
autos = [
(‘Subaru’, ‘Forester’, 2019),
(‘Kia’, ‘Sportage’, 2020),
(‘Hyundai’, ‘Santa fe’, 2018),
(‘Chevrolet’, ‘Captiva’, 2010),
(‘Renault’, ‘Duster’, 2020),
]

for marca, modelo, anio in autos:


print(modelo, ‘del anio’, anio)

for i in range(len(autos)):
print(autos[i][1] ‘del anio’, autos[i][2])
Ciclos

63
Ciclos

• Sentencias cíclicas (while)


• Uso de ciclos
• Patrones comunes

64
Sentencia while

Permiten realizar un conjunto de instrucciones un número determinado de


veces mientras la condición sea verdadera.

Sintaxis:

while condición:
instrucciones mientras condición sea verdadera

Importante!: la condición se evaluará luego de cada iteración. Si al inicio es


falsa no se ejecutarán nunca las instrucciones del while.

65
Sentencia while

66
Sentencia while

¿Qué hace el siguiente código?

n = int(input(‘Ingrese n: ’))
i = 1
while i < n:
n = n * i
i += 1
print(n)

Preguntas:
- ¿Cómo se realiza la operación?
- ¿Cómo se asegura que termine el ciclo?
67
Ejemplo #1 de uso de ciclos

Escriba un programa que calcula el promedio final de un curso de n


alumnos, solicitando una nota por alumno.

Ingrese cantidad de alumnos: 4


Ingrese nota alumno 1: 88
Ingrese nota alumno 2: 22
Ingrese nota alumno 3: 76
Ingrese nota alumno 4: 100
El promedio de los alumnos es de: 72

68
Ejemplo #2 de uso de ciclos

Escriba un programa que calcule el promedio final de un curso de varios


alumnos. S e ingresarán notas hasta que se ingrese el valor -1.

Ingrese nota alumno: 67


Ingrese nota alumno: 33
Ingrese nota alumno: 78
Ingrese nota alumno: 57
Ingrese nota alumno: -1
El promedio final es: 59

69
Patrones comunes

• Antes de escribir un programa, debe analizarse si es posible usar


alguna solución usada previamente, en un problema similar. Esto
se llama “patrón de código”.

• Por ejemplo, algunos patrones son:


1. Sumas cosas
2. Multiplicar cosas
3. Contar cosas
4. Encontrar el máximo
5. Encontrar el mínimo
6. Generar pares de cosas (combinacio10nes)
1. Sumar cosas

Ejemplo:

Escriba una programa que reciba como entrada un número entero, y que
entregue por pantalla la suma de los números al cuadrado desde 1 hasta
el valor ingresado como parámetro.

71
1. Sumar cosas

Sintaxis del patrón (pseudocódigo):

suma = 0
ciclo:
n = calcular()
suma = suma + n

72
2. Multiplicar cosas

Ejemplo: Escriba un programa que a partir de un número entregado,


calcule el factorial de dicho número.

73
2. Multiplicar cosas

Sintaxis del patrón (pseudocódigo):

prod = 1
ciclo:
n = calcular()
prod = prod * n

74
3. Contar cosas

Ejemplo: Escriba un programa que solicite el ingreso de n números y


luego entregue la cantidad de números impares ingresados.

Ingrese n: 4
9
6
4
7
La cantidad de impares ingresados es: 2

75
3. Contar cosas

Sintaxis del patrón (pseudocódigo):

cuenta = 0
ciclo:
...
cuenta = cuenta + 1

76
Patrones comunes

• Antes de escribir un programa, debe analizarse si es posible usar


alguna solución usada previamente, en un problema similar. Esto
se llama “patrón de código”.

• Por ejemplo, algunos patrones son:


- Sumas cosas
- Multiplicar cosas
- Contar cosas
- Encontrar el máximo
- Encontrar el mínimo
- Generar pares de cosas (combinacion2 5es)
4. Encontrar el máximo

Ejemplo: Escriba un programa que solicite al usuario la cantidad de


números a ingresar, luego solicite los números y, al finalizar, muestre el
número mayor ingresado.

Ingrese cantidad de números: 5


4
2
7
5
5
7
78
4. Encontrar el máximo

Sintaxis del patrón:

mayor = numero_muy_chico
ciclo:
n = calcular()
if n > mayor:
mayor = n

79
5. Encontrar el mínimo

Ejemplo: Escriba un programa que solicite al usuario la cantidad de


números a ingresar, luego solicite los números y, al finalizar, muestre el
número menor ingresado.

Ingrese cantidad de números: 5


4
2
7
5
5
2
80
5. Encontrar el mínimo

Sintaxis del patrón:

menor = numero_muy_grande
ciclo:
n = calcular()
if n < menor:
menor = n

81
6. Generar pares de cosas (combinaciones)

Ejemplo: Escriba un programa que muestre todas las combinaciones


posible para dos dados, en donde el puntaje obtenido sea mayor a 7.

82
6. Generar pares de cosas (combinaciones)

Sintaxis del patrón:

i = 1
while i < n:
while j < m:
hacer algo con i y j
j = j + 1
i = i + 1

83
Funciones
Contenidos

• Qué es una función


• Cómo se define
• Diferencia entre print y return
• Variables globales y locales
• Creación de módulos
• Funciones con múltiples valores de retorno
• Funciones sin valor de retorno
• Parámetros con valores por omisión
¿Qué es una función?

Una función es código encapsulado que puede ser reutilizado


fácilmente. Por lo general, recibe valores (parámetros) y retorna un
valor.

Ejemplos:
>>> entero = int(4.5)
>>> print(‘Hola’)

5
Definición de una función

Las definición o “firma” de la función se compone de la palabra


reservada def. Opcionalmente puede incluir parámetros y/o
valor de retorno.

def nombre_función(parametro1, parametro2,…):


#instrucciones de la función
return valor
6
Ejemplo de función

def perimetro(r):
resultado = 2 * 3.14 * r
return resultado

¿Cómo usamos esta función dentro de un programa?

7
Diferencia entre print y return

def perimetro(r):
resultado = 2 * 3.14 * r
print(resultado)

def perimetro(r):
resultado = 2 * 3.14 * r
return resultado
8
Uso de módulos

Existen 2 maneras para importar objetos en Python


from math import cos, pi
from random import randint

print(cos(pi/2))
print(randint(0, 10))

import math

print(math.cos(pi/2))
9
print(math.randint(0, 10))
Creación de módulos

Ahora revisaremos dos archivos de código:


• programa.py (archivo con el programa principal que usa las funciones
de un módulo creado por nosotros).
• circulos.py (módulo creado por nosotros con funciones).

10
Tipos de funciones

1) Con un valor de retorno

def promedio(c1, c2, c3):


return round((c1+c2+c3) / 3)

>>> p = promedio(100, 50, 50)


>>> p
67

11
Tipos de funciones

2) Con múltiples valores de retorno

def convertir_horas_minutos(total_minutos):
horas = total_minutos // 60
minutos = total_minutos % 60
return horas, minutos

>>> h, m = convertir_horas_minutos(89)

12
Tipos de funciones

3) Sin valor de retorno

def imprimir_datos(nombre, apellido, edad, rut):


print(‘Nombre:’, nombre, apellido)
print(‘Rut:’, rut)
print(‘Edad:’, edad)

>>> imprimir_datos(‘Juan’, ‘Perez’, 34, ‘11111111-1’)

13
Tipos de funciones

4) Parámetros con valores por omisión

def funcion(a, b=2, c=10):


return a + b + c

>>> funcion(10)
22
>>> funcion(10, 15)
35
>>> funcion(10, 15, 20)
45 14
Estructura de un string

Los strings permiten representar texto en Python. Son un tipo de dato


inmutable, esto es, no se puede modificar luego de su creación.

>>> cadena = ‘’
>>> cadena2 = ‘ ’

>>> len(cadena)
0
>>> len(cadena2)
1
Estructura de un string

Se puede acceder a cada caracter mediante su posición

>>> cadena = ‘hola mundo’


>>> cadena[0]
h
>>> cadena[5]
m
Estructura de un string

Se puede acceder a cada caracter mediante su posición negativa.

>>> cadena = ‘hola mundo’


>>> cadena[-1]
o
>>> cadena[7]
a
Substrings
Además de acceder a cada carácter (elemento) por su posición, es posible obtener
una porción del string (substring) mediante el operador :

>>> cadena = ‘hola mundo’


>>> cadena[3:7]
‘a mu’
>>> cadena[:7]
‘hola mu’
>>> cadena[2:]
‘la mundo’
>>> cadena[::2]
‘hl ud’
Recorrido de strings (con while)

cadena = ‘hola mundo’

i = 0
while i < len(cadena):
print(‘s=’, cadena[i])
i += 1
Recorrido de strings (con for)

cadena = ‘hola mundo’

for c in cadena:
print(‘s =’, c)
Reemplazar secciones de un string

Método replace(a, s): reemplaza todas las apariciones del string a en


el string s.

>>> mensaje = ‘Estoy muy cansado’


>>> print(mensaje.replace(‘cansado’, ‘animado’))
>>> print(mensaje)

>>> mensaje = mensaje.replace(‘cansado’, ‘animado’)


>>> print(mensaje)

>>> print(mensaje.replace(‘a’, ‘e’, 1))


Mayúsculas, minúsculas y posición

Método upper(s): lleva a mayúsculas el string s

>>> mensaje = ‘Estoy muy cansado’


>>> mensaje.upper()

Método lower(s): lleva a minúsculas el string s

>>> mensaje = ‘BIENVENIDO A MI PROGRAMA’


>>> mensaje.lower()

Método index(caracter): entrega la posición del caracter

>>> mensaje = ‘hola mundo’


>>> mensaje.index(‘o’)
Interpolación de strings

Método s.format(): permite generar un string dinámico a partir de un string


“plantilla”.

>>> s = ‘Soy {0} y vivo en {1}’

>>> s.format(‘Juan’, ‘Santiago’)


‘Soy Juan y vivo en Santiago’

>>> s.format(‘Erika’, ‘Berlin)


‘Soy Erika y vivo en Berlin’

>>> ‘{0}{1}{0}’.format(‘hola’, ‘chao’)


‘holachaohola’
Actividades para
desarrollar

36
Trabajo post-clase – Ejercicio #1

Escriba un programa que lea una cantidad de palabras y calcule el largo de


cada una, sin considerar las letras repetidas, determinando la más larga
y más corta. Por ejemplo, la palabra “casa” es más corta que la palabra
“reno”, ya que tiene 3 letras distintas (c, a y s). Mientras que “reno” tiene 5.

Ingrese n: 3
palabra 1: sabanas
palabra 2: canales
palabra 3: cojines
La palabra mas larga es: cojines
La palabra mas corta es: sabanas
Trabajo post-clase – Ejercicio #2A

Escriba la función valida(cadena) que reciba un string con una cadena


de ADN y retorne True si la cadena es válida o False si no lo es. Una
cadena no es válida cuando aparecen bases nitrogenadas distintas a las
indicadas previamente (Adenina, Citosina, Guanina y Timina)

>>> valida(‘CTGA CTGA AATT GGGC CTGG CCCC’)


True

>>> valida(‘CTGA XCGA CGAT GGTA ACCC CCPC TTAA’)


False
Trabajo post-clase – Ejercicio #2B
• Escriba la función cantidad(cadena, base) que reciba un string con
una cadena de ADN y una base nitrogenada. La función debe retornar la
cantidad de apariciones de la base en la cadena.

• >>> cantidad(‘CTGA CTGA AATT GGGC CTGG CCCC’, ‘A’)


•4
Trabajo post-clase – Ejercicio #2C

Los científicos encontraron un patrón de clasificación, que se deduce de la cantidad


mayoritaria de cierto grupo de bases. Si la suma de las cantidades de Citosina y Guanina
es mayor a la de Adenina y Timina, es una especie vegetal, en caso contrario es una
especie animal. Escriba un programa que pregunte la cantidad de cadenas de ADN a
evaluar, luego solicite las cadenas y finalmente muestre las cantidades de cada especie
y cadenas no válidas. Use las funciones anteriores.

Cantidad de cadenas a ingresar: 3

Ingrese cadena 1: CGTA CAGT TTGG GGTA AATG CATG


Ingrese cadena 2: CACC CTGA GGAA ACAA XTFC ATGG
Ingrese cadena 3: TGTG TTGA ATGA CTAT ATTT
Cantidad animales: 2
Cantidad vegetales: 0
Cantidad no validas: 1
60

También podría gustarte