Está en la página 1de 25

LENGUAJES DE PROGRAMACIÓN

II Ciclo

Laboratorio 5: Cadenas (strings) y Archivos NOTA

Alumnos: QUISPE ESPINOZA GIOVANNI JOSE

Fecha de realización: 30/09/23


Fecha de entrega: 01/10/23

Ejercicio 1: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

#índices
fruta = 'plátano'
letra = fruta[1]
print(letra)
Índice de la cadena representado con corchetes []. letra = fruta[0]
print(letra)
Nota: Los índices de los string deben ser siempre enteros y no empieza en 1, empieza en 0.

Al colocar el nombre de la fruta , sabemos


que cada letra tiene un numero , que inicia
desde cero y el resultado es que nos salga
la letra según el numero escogido.
Lab. N° 5 Cadenas y Archivos

Ejercicio 2: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

● Preferimos leer datos de entrada utilizando #Convertir datos


cadenas y después analizar y convertir los nombre = input('Ingresa tu nombre:')
datos conforme sea necesario print(nombre)
manzana = input('Ingresa un número:')
● Esto nos da más control sobre situaciones de
x = manzana - 10
error y/o datos de entrada del usuario print(x)
incorrectos
● Los números como datos de entrada deben ser
convertidos de cadenas a enteros

Nota: Cambiar x = manzana - 10 por x = int(manzana) - 10

Al ingresar el nombre este lo


restara 10 según la cantidad
de letras que tenga la palabra.

Docente: Armando Sarco Montiel Pág.


1
Lab. N° 5 Cadenas y Archivos

Ejercicio 3: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.


print(f'{"test":>10}')

print(f'{"test":10}')

print(f'{"test":^10}')

print('{1} {0}'.format('one', 'two'))

Este ejercicio explica que imprimirá cualquier información , pero con espacios que nosotros le
hayamos puesto.

Docente: Armando Sarco Montiel Pág.


2
Lab. N° 5 Cadenas y Archivos

Ejercicio 4: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

● Podemos obtener cualquier carácter en una vs


cadena usando un índice especificado en
corchetes x = 3
w = fruta[x - 1]
● El valor del índice debe ser un entero y
print(w)
comienza desde el cero
● El valor del índice puede ser una expresión que
se ha calculado.

Nota: Vas a cometer un error si tratas de acceder a un índice más allá del final de la cadena.

Parecido al 1 , este nos dará la letra que hemos pedido , según que numero le pongamos ,
como sabemos esta ubicado cada letra con cada número.

Docente: Armando Sarco Montiel Pág.


3
Lab. N° 5 Cadenas y Archivos

Ejercicio 5: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

● La función nativa “len” (length=longitud), nos #tamaño de cadena


retorna el tamaño de una cadena fruta = 'plátano'
tamaño = len(fruta)
print(tamaño)
ultima = fruta[tamaño-1]
print(ultima)

Este ejercicio lo que hace es imprimir la cantidad de letras por ejemplo plátano tiene 7, e imprimir la
ultima letra que en este caso sería la letra O

Docente: Armando Sarco Montiel Pág.


4
Lab. N° 5 Cadenas y Archivos

Ejercicio 6: Copiar el programa de abajo, compilar, comparar, analizar y comentar lo que sucede.

Utilizando una sentencia while, una variable de #Recorriendo una cadena


iteración, y la función len, podemos construir un fruta = 'plátano'
bucle para mirar cada una de las letras de una indice = 0
while indice < len(fruta):
cadena de forma individual
letra = fruta[indice]
print(indice, letra)
indice = indice + 1

Un bucle finito utilizando una sentencia for es #Recorriendo una cadena


mucho más elegante, la variable de iteración es fruta = 'plátano'
completamente manejada por el bucle for for letra in fruta:
print(letra)

Este ejercicio lo que hace es


imprimir de manera ordenada cada
letra de la palabra establecida en el
comando.

Docente: Armando Sarco Montiel Pág.


5
Lab. N° 5 Cadenas y Archivos

Ejercicio 7 (Reto Tecsup): Escribe un bucle while que comience con el último carácter en la cadena y
haga un recorrido hacia atrás hasta el primer carácter en la cadena, imprimiendo cada letra en una
línea independiente.
o
n
a
t
á
l
p

Docente: Armando Sarco Montiel Pág.


6
Lab. N° 5 Cadenas y Archivos

Ejercicio 8: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

#Recorte de cadenas
s = 'Yo soy Tecsup'
print(s[0:0])
● También podemos mirar a cualquier sección continua de una print(s[0:1])
print(s[0:6])
cadena utilizando el operador dos puntos
print(s[6:7])
print(s[7:20])
print(s[:2])

Docente: Armando Sarco Montiel Pág.


7
Lab. N° 5 Cadenas y Archivos

● Si dejamos en blanco el primer o el último número del recorte, print(s[7:])


se asume que es el inicio o el final de la cadena, print(s[:])
respectivamente

Nota: El segundo número del corchete es el final del recorte, pero no lo incluye.

Ejercicio 9: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

No puedes modificar una cadena existente. Lo mejor que #Inmutabilidad de una


puedes hacer es crear una nueva cadena que sea una variación cadena
de la original: saludo = 'Jola, mundo!'
saludo = 'Jola, mundo!' saludo = 'H' + saludo[1:]
saludo[0] = 'H'

Docente: Armando Sarco Montiel Pág.


8
Lab. N° 5 Cadenas y Archivos
TypeError: 'str' object does not support item assignment print(saludo)

Este ejercicio imprime una variable que tiene como 2 valores , pero no de igual forma sino
como lo escribimos nosotros.

Ejercicio 10: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Cuando el operador + es aplicado a una cadena, significa #Concatenar cadenas


“concatenación” a = 'Hola'
b = a + 'Ahí'
print(b)
c = a + ' ' + 'Ahí'
print(c)

Docente: Armando Sarco Montiel Pág.


9
Lab. N° 5 Cadenas y Archivos

Ejercicio 11: Realizar un programa que cuente el número de letras “a”. Copiar el programa de abajo,
compilar, analizar y comentar lo que sucede.

Docente: Armando Sarco Montiel Pág.


10
Lab. N° 5 Cadenas y Archivos

#Contando cadenas
palabra = 'plátano'
contador = 0
for letra in palabra:
if letra == 'a':
contador = contador + 1
print(contador)

Este ejercicio lo que hace es hacer un conteo de la palabra antes determinada en el


programa

Docente: Armando Sarco Montiel Pág.


11
Lab. N° 5 Cadenas y Archivos
Ejercicio 12 (Reto Tecsup): Encapsula el código del ejercicio anterior en una función llamada cuenta
(def), y hazla genérica de tal modo que pueda aceptar una cadena y una letra como argumentos, el
resultado del programa es el siguiente:
Ingresar la palabra: esternocleidomastoideo
La letra a buscar y contar es: e
El número de letras encontradas es: 4

Lo que hace este ejercicio es botarnos el resultado dependiendo de cuentas e hayamos


escrito la palabra en el programa.

Docente: Armando Sarco Montiel Pág.


12
Lab. N° 5 Cadenas y Archivos
Ejercicio 13: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

La palabra in puede ser utilizada para revisar si una cadena se #Operador in


encuentra “en (in)” otra cadena fruta = 'plátano'
La expresión in es una expresión lógica que retorna True o print('n' in fruta)
False y puede ser utilizada una sentencia if print('m' in fruta)
print('ano' in fruta)
if 'á' in fruta :
print('Encontrada!')

Este programa consta de darnos verdadero o falso, si la letra colocada pertenece a la palabra
dada en el programa.

Docente: Armando Sarco Montiel Pág.


13
Lab. N° 5 Cadenas y Archivos
Ejercicio 14: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

#Comparación de cadenas
palabra = input('Ingrese el nombre de una fruta: ')
if palabra == 'plátano':
print('Muy bien, tenemos plátano.')
elif palabra < 'plátano':
print('Tu palabra, ' + palabra + ', está antes de plátano.')
elif palabra > 'plátano':
print('Tu palabra, ' + palabra + ', está después de plátano.')
else:
print('Se acabaron los plátanos.')

Ingrese el nombre de una fruta: plátano


Ingrese el nombre de una fruta: platanon
Ingrese el nombre de una fruta: planta

Este programa hace unos datos y ralizando una operacion nos de un resultado tal cual se
muestra en la imagen.

Docente: Armando Sarco Montiel Pág.


14
Lab. N° 5 Cadenas y Archivos
Ejercicio 15: Realizar un programa que cambie a minusculas o mayusculas una palabra. Copiar el
programa de abajo, compilar, analizar y comentar lo que sucede.

Python tiene un número de funciones de cadenas que están en #Librería string


la librería string (cadena) saludo = 'Hola Bob'
Esas funciones ya están previamente construidas dentro de minus = saludo.lower()
cada cadena – las invocamos al agregar la función a la variable print(minus)
de la cadena print(saludo)
Esas funciones no modifican la cadena original, sino que print('Hola Ahí'.upper())
retornan una nueva cadena que ha sido modificada

Este ejercicio hace que lo que imprima retome una nueva cadena de información , no lo
modifican solo repiten la secuencia.

Ejercicio 16: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Docente: Armando Sarco Montiel Pág.


15
Lab. N° 5 Cadenas y Archivos

Python tiene una función llamada dir la cual lista los métodos #Métodos disponibles
disponibles para un objeto. La función type muestra el tipo de cosa = 'Hola mundo'
un objeto y la función dir muestra los métodos disponible print(type(cosa))
print(dir(cosa))
help(str.capitalize)

Este ejercicio nos imprimirá varios variables según como lo hayamos modificado , se da muchos
usos dea cierdo a su funcionamiento.

Ejercicio 17: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Docente: Armando Sarco Montiel Pág.


16
Lab. N° 5 Cadenas y Archivos

#Métodos disponibles
palabra = 'plátano'
indice = palabra.find('á')
print(indice)
print(palabra.find('a'))
print(palabra.find('no', 3))
En este ejemplo, invocamos find en palabra y pasamos la
letra que estamos buscando como un parámetro. El método
find puede encontrar subcadenas así como caracteres.
También puede tomar como un segundo argumento el
índice desde donde debe empezar

Este ejercicio nos dará la letra


correspondiente al numero que se le
coloco.

Ejercicio 18 (Reto Tecsup): Toma el siguiente código en Python que almacena una cadena:
str = 'X-DSPAM-Confidence:0.8475'

Docente: Armando Sarco Montiel Pág.


17
Lab. N° 5 Cadenas y Archivos
Utiliza find y una parte de la cadena para extraer la porción de la cadena después del carácter dos
puntos y después utiliza la función float para convertir la cadena extraída en un número de punto
flotante.
El número es: 0.8475

Abrir archivos:

Docente: Armando Sarco Montiel Pág.


18
Lab. N° 5 Cadenas y Archivos

Ejercicio 19: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Si el open es exitoso, el sistema operativo nos #abrir archivos


devuelve un manejador de archivo. El manejador_archivo = open('secreto.txt')
manejador de archivo no son los datos print(manejador_archivo)
contenidos en el archivo, sino un “manejador”
(handler) que podemos usar para leer los
datos. Obtendrás un manejador de archivo si
el archivo solicitado existe y si tienes los
permisos apropiados para leerlo.
Nota: El manejador de archivos no almacena el contenido del archivo, para eso debemos utilizar
manejadores.

Docente: Armando Sarco Montiel Pág.


19
Lab. N° 5 Cadenas y Archivos

Docente: Armando Sarco Montiel Pág.


20
Lab. N° 5 Cadenas y Archivos
Ejercicio 20: Copiar el programa de abajo, compilar, analizar y comentar lo que sucede.

Si el open es exitoso, el sistema operativo nos #Abrir archivo completo


devuelve un manejador de archivo. El man_a = open('secreto.txt')
manejador de archivo no son los datos ent = man_a.read()
contenidos en el archivo, sino un “manejador” print(len(ent))
(handler) que podemos usar para leer los print(ent[:])
datos. Obtendrás un manejador de archivo si
el archivo solicitado existe y si tienes los
permisos apropiados para leerlo.

Docente: Armando Sarco Montiel Pág.


21
Lab. N° 5 Cadenas y Archivos

Ejercicio 21: Escribe un programa que lea un archivo e imprima su contenido (línea por línea), todo en
mayúsculas. Al ejecutar el programa, debería parecerse a esto:

Científicos alemanes excavaron 50 metros bajo tierra y descubrieron pequeños


trozos de cobre.
Después de estudiar esos trozos por mucho tiempo, Alemania llegó a la conclusión
de que los antiguos germánicos tenían una red nacional de teléfono hace ya 2500
años.
Por supuesto, al estado ruso no le pareció nada del otro mundo. Le pidieron a
sus propios científicos que excavaran más hondo. A 100 metros bajo tierra,
encontraron pequeños trozos de cristal que, según ellos, formaban parte del
sistema de fibra óptica nacional que tenían los antiguos rusos hace 3500 años.
Científicos peruanos no se dejaron impresionar. Excavaron 150 metros bajo tierra
y no encontraron nada; excavaron 20 metros más y aún nada, entonces excavaron
250 metros en total y nada de nada. Por lo tanto, llegaron a la conclusión de
que los antiguos peruanos hace más de 5000 años, usaban telefonía inalámbrica
satelital...

Docente: Armando Sarco Montiel Pág.


22
Lab. N° 5 Cadenas y Archivos

Docente: Armando Sarco Montiel Pág.


23
Lab. N° 5 Cadenas y Archivos

1. Observaciones:
En este laboratorio se hicieron mas ejercicio de cadenas , y al iniciarlo nos imprimio lo
que pedimos al inicio

Se copilo que los ejercicios vistos fueron básicos , y este se aumentara el nivel
correspondiente a cadenas en Python.

2. Conclusiones:

Al momento de imprimir se observo que nos dio la respuesta a pedir , por ende se iso bien el
programa.

Algunos ejercicios se e complico ya que no podía imprimirlo por una valla en el sistema de Python.

Docente: Armando Sarco Montiel Pág.


24

También podría gustarte