Está en la página 1de 18

TECNOLOGICO NACIONAL DE MEXICO CAMPUS

MINATITLAN
INGENIERIA EN SISTEMAS COMPUTACIONALES.

PROGRAMACION LOGICA Y FUNCIONAL

• TEMA 1: ACTIVIDAD 1

Ejercicios resueltos

DOCENTE: M.T.E. María Elena Reyes Castellanos

ALUMNO: Jafer Inocente Melquiades Santiago

Minatitlán Veracruz a 27 de septiembre del 2022


PRACTICA 1
LECTURA DE ARCHIVOS .CSV
OBJETIVO: Leer archivo CSV y sumar todos los números que contiene el archivo

#Lectura de un archivo CSV,


#Objetivo sumar todos los números del archivo

from functools import reduce


#Con el input solicitamos al usuario elnombre del archivo
nombre = input("ingrese el nombre del archivo: ")
#La siguiente funcion funciona para lograr extraer la ruta del archivo que el
usuario nos dio
with open ("/content/"+nombre+".csv") as file:
csv = ''.join(map(str,file.readlines()))
s = map(str,csv.replace("\n",",").split(','))
li = list(s)
li.remove('')
print(li)
print("Resultado de la suma de los elementos: ", reduce (lambda a,b:
int(str(a))+int(str(b)),li))

RESULTADO: FALLA

ejercicios/lector de csv.py"

ingrese el nombre del archivo: archivo

Traceback (most recent call last):

File "c:\Users\santi\OneDrive\Documentos\ejercicios\lector de csv.py", line 8, in <module>

with open ("C:/Users/santi/OneDrive/Documentos/ejercicios/ "+nombre+".csv") as file:

FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/santi/OneDrive/Documentos/ejercicios/


archivo.csv'

PS C:\Users\santi\OneDrive\Documentos\ejercicios>
PRACTICA 2
EJEMPLOS DE LAS FUNCIONES: REDUCE, MAP, FILTER
OBJETIVO: Usar las funciones REDUCE, MAP Y FILTER para elevar al cuadrado, multiplicar todos los
números y filtrar.

from functools import reduce

#lista de elementos definidos


lista=[2,5,3,20,30,40]
#map multiplicará al cuadrado cada elemento de la lista
funcion_map=list(map(lambda x: x**2, lista))
######### Impresion de MAP ##########
print("resultado de elevar los numeros al cuadrado: ",funcion_map)

######## Usamos Reduce para reducir y multiplicar todos los elementos hasta
obtener un solo valor #########################
reducir=reduce((lambda x,y: x*y),lista)
#########Impresion de REDUCE ##########
print("resultado de multiplicar la lista de numeros: ",reducir)

##Filter Mayor o igual a 10####


filtrar=list(filter(lambda x: x >=10, lista))
#########Impresion de REDUCE ##########
print("resultado de filtrar los elementos que sean iguales o mayores a 20:
",filtrar)

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/multifuncion.py

resultado de elevar los numeros al cuadrado: [4, 25, 9, 400, 900, 1600]

resultado de multiplicar la lista de numeros: 720000

resultado de filtrar los elementos que sean iguales o mayores a 20: [20, 30, 40]
PRACTICA 3
CALCULADORA PARA NUMEROS COMPLEJOS Y NO COMPLEJOS
OBJETIVO: Usar diversas funciones para crear una calculadora con opciones de números complejos y
reales y tener un menú de opciones para cálculos.

#CALCULADORA BASICA
while True:
#imprime lo que esta entre comillas
print("Seleccione el tipo de numero a usar:")
print(" \n1) Reales 2) Complejos")

FormatoNumero = int(input("Numero de opcion seleccionada: "))


#Asignaremos los numeros 1 y 2 solicitandolos al usuario
if FormatoNumero==1:
num1 = float(input("\nInserte el primer numero: ") )

num2 = float(input("Inserte el segundo numero: ") )

elif FormatoNumero==2:
#Asignaremos los numeros 1 y 2 solicitandolos al usuario
num1 = complex(input("\nInserte numero 1: ") )

num2 = complex(input("Inserte numero 2: ") )


#CONTROL DE ERROR NUMERO NO VALIDO
else:
print("Numero invalido\n")
continue

while True:
print("\n Que accion quieres realizar: ")
print("1) Suma 2)Resta \n3)Multiplicación 4)Division \n")
#Opt nos indicara que accion realizaremos
Opt = int(input("Seleccionar: "))

if Opt == 1:
print("El resultado de la suma es: ",(lambda n1,n2:
n1+n2)(num1,num2))
break

elif Opt == 2:
print("El resultado de la resta es: ",(lambda n1,n2: n1-
n2)(num1,num2))
break

elif Opt == 3:
print("El resultado de la multiplicacion es: ",(lambda n1,n2:
n1*n2)(num1,num2))
break

elif Opt == 4:
print("El resultado de la division es: ",(lambda n1,n2:
n1/n2)(num1,num2))
break

else:
print("Numero invalido.")
continue

print("\n¿Desea hacer otro calculo?:")


print(" \n 1)Si 2)No")
sn = int(input("Seleccion: "))
#Control del ciclo
if sn==1:
print("\n")
continue
#Fin del programa o break
else:
break

RESULTADO: EXITOSO

PRUEBA REALES(SUMA)

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/Calculadora.py

Seleccione el tipo de numero a usar:

1) Reales 2) Complejos

Numero de opción seleccionada: 1


Inserte el primer número: 5

Inserte el segundo número: 15

Que acción quieres realizar:

1) Suma 2) Resta

3)Multiplicación 4) División

Seleccionar: 1

El resultado de la suma es: 20.0

¿Desea hacer otro calculo?:

1)Si 2) No

Seleccion: 2

PRUEBA COMPLEJOS (DIVISION)

Seleccione el tipo de numero a usar:

1) Reales 2) Complejos

Numero de opción seleccionada: 2

Inserte numero 1: 5

Inserte numero 2: 2.5

Que acción quieres realizar:

1) Suma 2) Resta

3)Multiplicación 4)División

Seleccionar: 4
El resultado de la división es 2

¿Desea hacer otro calculo?:

1)Si 2)No

Seleccion: 2
PRACTICA 4
CAPTURAR UN ENUNCIADO Y DIVIDIRLO EN SUBCADENAS
OBJETIVO: Abrir una entrada de texto en el cual el usuario podrá escribir un enunciado para
posteriormente el programa dividirlo por subcadenas.

#Capturar un enunciado y dividirlo en subcadenas con SPLIT


a=input("inserta un enunciado: ")
print(a.split())

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/Enunciado.py

inserta un enunciado: El tecnologico cumplio 50 años esta semana

['El', 'tecnologico', 'cumplio', '50', 'años', 'esta', 'semana']

PS C:\Users\santi\OneDrive\Documentos\ejercicios>

BONUS: CONTADOR DE PALABRAS

listas=("El tecnologico de minatitlan esta cumpliendo 50 años".split())


print(listas)
print(len(listas))

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Escritorio/Desarrollo/PLF/split.py

['El', 'tecnologico', 'de', 'minatitlan', 'esta', 'cumpliendo', '50', 'años']

8
PRACTICA 5
CONTADOR DE PALABRAS DE UN ARCHIVO TXT
OBJETIVO: Leer un archivo .txt y tomar los datos para separarlos y contarlos como lista.

#CONTADOR DE PALABRAS DESDE UN ARCHIVO TXT


texto_txt= open("texto.txt","r")
texto=texto_txt.read()
palabras=texto.split()
longitud=len(palabras)
#IMPRIME EL TEXTO
print(texto)
#IMPRIME DATOS
print("separando por comas utilizando split() ",palabras)
print("longitud total de palabras ", longitud)
print("longitud de total de letras con espacios ", len(texto))
#Cerramos el archivo
texto_txt.close()

RESULTADO: EXITOSO
PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/Contarpalabras.py
Hola como estas
separando por comas utilizando split() ['Hola', 'como', 'estas']
longitud total de palabras 3
longitud de total de letras con espacios 16
PS C:\Users\santi\OneDrive\Documentos\ejercicios>
ARCHIVO .TXT
PRACTICA 6
CONVERTIDORES BINARIO A DECIMAL, OCTAL a Binario, Hexadecimal a Decimal.
CONVERTIDOR BINARIO A DECIMAL
from unicodedata import decimal

binario=input("ingresa un numero binario: ")


print (int(str(binario) , 2))

#binario a decimal

decimal= int(input("ingresa un numero decimal:"))


print(int(bin(decimal)[2:]))

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
"c:/Users/santi/OneDrive/Documentos/ejercicios/Binario a decimal.py"

ingresa un numero binario: 1011010

90

CONVERTIDOR HEXADECIMAL

import ast
s = ast.literal_eval("0xffa")
print(s)

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Escritorio/Desarrollo/PLF/hexadecimal.py

4090
PRACTICA 7
SCRAPPING:
Objetivo: Realizar SCRAPPING

FALLO AL IMPORTAR FICHEROS.

PRACTICA 8:

DOCUMENTACION DE LOS 4 EJEMPLOS PROPORCIONADOS.

1.CADENAS

from cgitb import text


import copy
from zipapp import create_archive

#Se crea una lisa


lista=["a","b","f","a","d","z","a","z"]

#Se copia la misma lista a una nueva


lista2=copy.copy(lista)
#con sort ordenamos la primera lista, sort nos permite
#ordenar una lista de manera ascendente o descendente
lista.sort()

cadena ="Hola"

cadena2 = cadena

print(lista)

#Se importa una libreria para idenficar expresiones regulares


import re

#Se crean dos cadenas


cadena="Python es mejor que java"
cadena2="nada que ver"
#se crea una expresion regular para checar si hace match con la palabra mejor
regex=r"(.) mejor (.?) .*"

#re.match comprueba se se satisface el patron de busqueda


#Marca error al usar re.Mire.I
match=re.match(regex, cadena)
match2=re.match(regex, cadena2)
#Con los if se imprime si se incluye mejor en la cadena o no
if match:
print("Hizo el match con el grupo",match.group())
print("Hizo el match con el grupo",match.group(1))
print("Hizo el match con el grupo", match.group(2))
if match2:
print("Hizo el match")
else:
print("no lo hizo")

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/Compuestos.PY

Tipo de cadena: <class 'str'>

Tipo de cadena: <class 'str'>

holahola

U\n

['Hola,', 'hola,', 'hola']

Tipo de cadena: <class 'int'>

Tipo de cadena: <class 'str'>

Tipo de cadena: <class 'float'>

Tipo de cadena: <class 'bool'>

Tipo de lista: <class 'list'>

Elemento 0: 0

Elemento 1: a

Elemento 2: 1.1

Elemento 3: True

Elemento -1: True

[0, 'a', 1.1, True]

[0, 'a', 1.1, [1, 2, 3]]


Elemento de la sublista: 1

[0, 'a', 1.1, [1, 2, 3]]

[0, 'a', 1.1, [1, 2, 3]]

Tamaño de la lista: 4

Concatenación: [1, 2, 3, 4, 5]

Repetición: ['Hola', 'Hola', 'Hola', 'Hola']

Busqueda: False

Iteracion:

Elemento: 1

2.CONJUNTOS

###conjuntos
conjunto={1,2,3,4,5}
#Revisar el tipo de elemento con Type
print("Tipo de dato: ", type(conjunto))

print(conjunto)

conjunto2 = set ([1,"A","B",2,1]) #set representa los conjuntos.

print(conjunto2)
#Diferencia de los conjuntos
print("Diferencia: ", conjunto-conjunto2)
#Elementos que no se repiten
print("Diferencia simetrica: ", conjunto^conjunto2)
#Suma de conjuntos sin repeticion
print("Union: ", conjunto|conjunto2)
#imprime ambos conjuntos sin elementos con repeticion
print("Interseccion: ", conjunto&conjunto2)
#imprime el conjunto2
print("And: ", conjunto and conjunto2)
#imprime el conjunto
print("Or: ", conjunto or conjunto2)

RESULTADO EXITOSO:

jercicios/Conjuntos.py

Tipo de dato: <class 'set'>


{1, 2, 3, 4, 5}

{'A', 1, 'B', 2}

Diferencia: {3, 4, 5}

Diferencia simetrica: {'A', 3, 4, 5, 'B'}

Union: {'A', 1, 2, 3, 4, 5, 'B'}

Interseccion: {1, 2}

And: {'A', 1, 'B', 2}

Or: {1, 2, 3, 4, 5}

PS C:\Users\santi\OneDrive\Documentos\ejercicios>

3.COMPUESTOS

#COMPUESTO
cadena = "hola"
cadena2 = 'hola'
cadenaCruda = r'U\n'
cadenaUnicode = u'Ñ\n'

print("Tipo de cadena:", type(cadena))


print("Tipo de cadena:", type(cadena2+cadena))
print(cadena+cadena2)
print(cadenaCruda)
#split() divide una cadena en subcadenas y las devuelve almacenadas en una lista
print("Hola, hola, hola".split())
print(cadena[0])

#Error de asignacion no mutable


#cadena [0]="H" #La cadena funciona como un valor único aunque tiene índices, no
puede cambiar su valor por separado.
lista = [0,"a",1.1,True]
l=0
i="a"
s=1.1
t=True
print("Tipo de cadena:", type(l))
print("Tipo de cadena:", type(i))
print("Tipo de cadena:", type(s))
print("Tipo de cadena:", type(t))
print("Tipo de lista:", type(lista))
#indexacion
print("Elemento 0: ",lista[0])
print("Elemento 1: ",lista[1])
print("Elemento 2: ",lista[2])
print("Elemento 3: ",lista[3])

print("Elemento -1: ",lista[-1])

print(lista)

lista[3]= [1,2,3]
print(lista)

print("Elemento de la sublista: ",lista[3][0])

print(lista)

print(lista)

print("Tamaño de la lista: ",len(lista))

print("Concatenación: ",[1,2,3]+[4,5])

print("Repetición: ",["Hola"]*4)

print("Busqueda: ", "d" in ["a","b","c"])

print("Iteracion: ")

for elemento in [1,2,3,4,5]:


print("Elemento: ",elemento)

lista = ["hola","esto","es","slicing"]

print(lista)
#slicing nombreLista[inicio:fin+1 :salto]
print("Slicing: ",lista[1:3])
print("Slicing: ",lista[:3])
print("Slicing: ",lista[0:2])
print("Slicing: ",lista[1:])
print("Slicing: ",lista[: :2])
print("Slicing: ",lista[: :-1])
lista.append("algo")
print(lista)

lista.insert(0,"hola")
print(lista)

lista.sort()
print(lista)

lista.reverse()
print(lista)

print("lista original:",lista)

ultimoElem = lista.pop()
print("Ultimo elemento:",ultimoElem)

primerElem = lista.pop(0)
print("Primer elemento:",primerElem)

print(lista)
#print(min([1,2,3,10,"a"]))
print("Maximo de una lista: ",max([1,2,3,10]))

print("Minimo de una lista: ",min([1,2,3,10]))

lista2 = [1,2,2,2,3,3,"a"]

lista3 = [0,0,0,0,0,0]

#imprime el contenido de la lista2


print("lista2 original: ",lista2)
print("lista2 original: ",type(lista2))

print("Conteo del 2: ",lista2.count(2))

lista2.remove(3)
#imprime la nueva lista
print("nueva lista",lista2)
#busca en que posicion se encuentra "A" en la nueva lista
print("Búsqueda: ",lista2.index("a"))

RESULTADO: EXITOSO

PS C:\Users\santi\OneDrive\Documentos\ejercicios> &
C:/Users/santi/AppData/Local/Programs/Python/Python310/python.exe
c:/Users/santi/OneDrive/Documentos/ejercicios/Conjuntos.py

Tipo de dato: <class 'set'>

{1, 2, 3, 4, 5}

{'A', 1, 'B', 2}

Diferencia: {3, 4, 5}

Diferencia simetrica: {'A', 3, 4, 5, 'B'}

Union: {'A', 1, 2, 3, 4, 5, 'B'}

Interseccion: {1, 2}

And: {'A', 1, 'B', 2}

Or: {1, 2, 3, 4, 5}
REFERENCIAS BIBLIOGRAFICAS:
Python String split() Method. (s. f.). Recuperado 27 de septiembre de 2022, de

https://www.w3schools.com/python/ref_string_split.asp

Campbell, S. (2022, 17 septiembre). Python len() Function: How to find length of the string.

Guru99. Recuperado 27 de septiembre de 2022, de http://guru99.com/python-string-

length-

len.html#:%7E:text=len()%20is%20a%20built,provide%20the%20number%20of%20ele

ments.

5. Estructuras de datos — documentación de Python - 3.10.7. (s. f.). Recuperado 27 de

septiembre de 2022, de https://docs.python.org/es/3/tutorial/datastructures.html

También podría gustarte