Unidad 4 Ejercicios - Ruiz Sandoval

 13 de abril de 2022

Juan Carlos Ruiz Sandoval

No. Control: 20151325


Ejercicio 1

Este programa se encarga de abrir un archivo, leer su contenido e imprimir su contenido en la terminal.

archivo=open("Prueba.txt","r")

contenido=archivo.read()

print(contenido)

archivo.close()



Ejercicio 2

La función del programa es abrir un archivo, leer la primera línea e imprimir en pantalla su contenido.

ari=open("Prueba.txt","r")

linea=ari.readline()

ari.close()

print(linea)



Ejercicio 3

Este programa se encarga de abrir un archivo y mediante un ciclo y readlines, leer cada una de las líneas e imprimir en pantalla en contenido de cada una de ellas.

pal=["gato","perro","chonchito"]

for p in pal:

            print(p)

 

arch=open("Prueba.txt","r")

for linea in arch.readlines():

            print(linea, end='')

arch.close()



Ejercicio 4

Este programa explica y demuestra el funcionamiento de  name, mode y encoding para ello abre un archivo y en base a él se encarga de imprimir el modo en el que se abrió, el nombre y como esta codificado.

arch=open("Prueba.txt","r+")

contnido=arch.read()

nombre=arch.name

modo=arch.mode

cod=arch.encoding

arch.close()

if arch.closed:

            print("Cerrado correctamente")

else:

            print("Archivo abierto")

print("Nombre del archivo: ",nombre,"Modo: ", modo)

print("Que sera_ ", cod)



Ejercicio 5

En este programa se muestra el funcionamiento de la función with open, esta de encarga de abrir el archivo y cerrarlo automáticamente de esta forma no tenemos que preocuparnos por dejar abierto un archivo.

with open("Prueba.txt","r") as arch:

            contenido=arch.read()

            print(contenido)

print(arch.closed)


Ejercicio


6

En este programa se usa el método seek, el método readline y el método tell. Primero abre el archivo con un with open posteriormente con el método seek se posiciona en el número de carácter seleccionado, y con el método tell se posiciona al final.

with open("Prueba.txt","r") as arch:

            cuenta=arch.seek(7)

            print(cuenta)

            linea=arch.readline()

            print(linea)

            donde=arch.tell()

            print(donde)

print(arch.closed)



Ejercicio 7

Este programa sirve para agregar nuevas líneas a un archivo para ello primero pregunta cual se quiere modificar, lo abre, se posiciona al final, pregunta que se quiere agregar y lo escribe.

a=input("Que poema quieres modificar: ")

with open(a+".txt","r+") as a:

            todo=a.read()

            fina=a.tell()

            b=input(str("Que quieres agregar: \n"))

            a.write(b)

            a.seek(fina)

print(a.closed)



Ejercicio 8

Este programa hace uso de la librería glob, con ella podemos encontrar todos los archivos que cumplan los parámetros dados y por medio de un for imprimir los nombres.

import glob

#print(help(glob))

lista=glob.glob("*.py") # directorio actual

for i in lista:

            print(i)



Ejercicio 9

En este programa se usa la librería os para mostrar todos los archivos dentro de una carpeta independientemente de sus características.

import os

ar=os.listdir('C:/Users/Juan Carlos/Desktop/Visual/Unidad 4')

print(ar)

for i in ar:

            print(i)

print(os.getcwd())


 


Ejercicio 10

Este programa se encarga de realizar un poemario con diferentes opciones entre las que se encuentran: crea un archivo, leer el contenido de un archivo, borrar un archivo y agregar nuevas líneas a un archivo para ello se usan métodos de las librerías glob, time, colorama y os.

import os

import glob

from colorama import init, Fore, Back, Style

import time

#time.sleep(3)

#poemario

#os.system('cls') #limpiar cmd

s=1

while(s):

            init()

            print(Fore.RED+Style.BRIGHT+"")

            print("Poemario")

            print("{}\t{}".format(1,"Crear poema nuevo"))

            print("{}\t{}".format(2,"Ver poemas existente"))

            print("{}\t{}".format(3,"Borrar poema"))

            print("{}\t{}".format(4,"Agregar lineas al poema existen"))

            print("{}\t{}".format(5,"Salir"))

            op=int(input("Dame la opcion: "))

            if op==1:

                        os.system('cls')

                        nomarch=input("Nombre del archivo poema nuevo: ")

                        a=open(nomarch+'.poe',"a")

                        a.close()

                        os.system('cls')

            if op==2:

                        os.system('cls')

                        init()

                        print(Fore.CYAN+Style.BRIGHT+"")

                        lista=glob.glob("*.txt")

                        for i in lista:

                                    print(i)

                        j=input("Que poema quieres ver: ")

                        try:

                                    p=open(j+".txt","r")

                                    cont=p.read()

                                    print(cont)

                                    a=input("Presiona enter para volver...")

                                    p.close()

                        except:

                                    f=input("No existe...")

                        os.system('cls')

            if op==3:

                        init()

                        os.system('cls')

                        print(Fore.BLUE+Style.BRIGHT+"Poemas disponibles: ")

                        lista=glob.glob("*.poe") # directorio actual

                        for i in lista:

                                    print(i)

                        try:

                                    no=input("Que poema quieres borrar: ")

                                    p=open(no+'.poe','r')

                                    con=p.read()

                                    print(con)

                                    pr=input("Presiona para borrar...")

                                    p.close()

                        except:

                                    a=input("No existe...")

                       

                        try:

                                    os.remove(no+'.poe')

                        except:

                                    print("No existe")

                                    b=open(no+'.poe','a')

                                    b.close()

                        os.system('cls')

            if op==4:

                        os.system('cls')

                        init()

                        print(Fore.MAGENTA+Style.BRIGHT+"Poemas disponibles: ")

                        lista=glob.glob("*.txt") # directorio actual

                        for i in lista:

                                    print(i)

                        try:

                                    a=input("Que poema quieres modificar: ")

                                    lin=[]

                                    with open(a+".txt","r+") as a:

                                               todo=a.read()

                                               fina=a.tell()

                                               con=int(input("Cuantas lineas quieres agregar: "))

                                               for y in range(con):

                                                           h=str(input("Linea {}: ".format(y+1)))

                                                           lin.append(h)

                                               for f in lin:

                                                           a.write("\n"+f)

                                               a.seek(fina)

                        except:

                                    r=input("El poema no existe...")

                        os.system('cls')

            if op==5:

                        s=0



Ejercicio 11

Este programa tiene la finalidad de mostrar cómo se declara una función.

#funcion 1

def saludo():

            #como comprender una funcion

            print("Dentro de saludo")

#palabra reservada identificador o nombre de funcion parametros

#o argumentos sintaxis los dos puntos

 

 

#dos lineas en blanci antes de llamar la funcion

#la funcion se estabkece antes de mandarka llamar

saludo() #llamada de la función



Ejercicio 12

Este programa muestra los diferentes erros que se pueden dar al declarar o utilizar las funciones.

'''

def funcion ():

            print("Dentro de funcion")

  print("otra linea")

 

 

 

funcion()

'''

'''

def cuadrado():

            print(x*x)

 

 

cuadrado(4)

'''

'''

def cuadrado(y):

            z=y*y

 

#error por falta de return

print(cuadrado(4))

'''



Ejercicio 13

El objetivo de este programa es ver diferentes usos que se le puede dar a las funciones como hacer sumas, multiplicaciones, restas, entre otras varias.

'''

def cuadrado(y):

            z=y*y

            return z

 

 

print(cuadrado(8))

'''

def suma(a,b):

            r=a+b

            print(r)

           

           

suma(5,3)

 

def suma(a,b=6):

            r=a+b

            print(r)

           

           

suma(5)

 

def suma(a=1,b=5):

            r=a+b

            print(r)

           

           

suma()

 

def suma3(*args):

            r=0

            print(args)

            for i in args:

                        print("i: ", i)

                        r=r+i

            print(r)



Ejercicio 14

La idea del programa es realizar la serie de Fibonacci mediante funciones y un rango estipulado, para ello se hace de dos formas, una por medio de una lista y otra por medio de sumas, dando ambas el mismo resultado.

def fib(n):

            a, b=0, 1

            while a<n:

                        print(a, end=' ')

                        a, b=b, a+b

            print()

 

 

def fib2(n):

            result=[]

            a, b=0, 1

            while a<n:

                        result.append(a)

                        a, b=b, a+b

            return result

 

 

 

fib(2000)

f=fib2(3000)

print(f) 





Ejercicio 15

La idea del programa es ver cómo pueden mandarse los argumentos de un diccionario a una función, para ellos al momento de llamar a la función se colocan dos * y posteriormente el nombre del diccionario.

def pollo(tension, estado='rostizado', accion='explotar'):

            print('este pollo no va a ', accion, end=' ')

            print('si le aplicas', tension, 'voltios.', end=' ')

            print('Esta', estado, "!")

 

 

d={"tension":"Cinco mil", "estado":"demacrado","accion":"volar"}

pollo(**d)

pollo("Diez mil ")

pollo("Cien mil", "muertado", "caminar")



Ejercicio 16

Mediante la librería matplotlib y la librería numpy; este programa se encarga de graficar una pendiente dentro de un rango establecido que va desde el -1 al 1.

import numpy as np

import matplotlib.pylab as plt

x=np.linspace(-1,1,50)

#print(x)

y1=2*x

plt.plot(x,y1)

plt.show()



Ejercicio 17

Este programa se encarga de graficar tres funciones en una sola grafica mediante el método plot de la librería matplotlib, además de ello cambia tanto el color como el marcador de cada una de ellas.

import numpy as np

import matplotlib.pylab as plt

x=np.linspace(-1,1,50)

#print(x)

y1=2*x

y2=2*(x)**2+1

y3=2*(x)**3-1

plt.plot(x,y1, color='r', lw=3, ls='--')

plt.plot(x,y2, color='b', lw=1, marker='s')

plt.plot(x,y3, color='k', marker='o', ls='None')

plt.xlabel('Abscisas', fontsize=20)

plt.ylabel('Ordenadas', fontsize=15)

plt.title('Primer')

plt.show()



Ejercicio 18

Este programa muestra cómo se pueden agregar indicadores a las gráficas mediante el método annotate, en él se escribe el nombre que lleva el indicador, el tamaño y la posición en donde lo queremos, además de esto se usó los métodos xlabel y ylabel para darle nombre a los ejes.

import numpy as np

import matplotlib.pylab as plt

x = np.linspace(-1, 1, 20)

y1 = 2*x

y2 = 2*(x)**2 + 1

y3 = 2*(x)**3 - 2

plt.figure(num='MiPrimerGrafico', figsize=(5,7))

tam=20

plt.rc('xtick',labelsize=tam); plt.rc('ytick',labelsize=tam)

 

plt.plot(x, y1, color='r', lw=6, ls='--')

plt.annotate('y=2x', (0.3, 2*0.3), (0.4, -0.3), fontsize=tam, arrowprops=dict(facecolor='r', shrink=0.05, width=2))

 

plt.plot(x, y2, color='b', lw=1, marker = 's')

plt.annotate('y=2x^2 + 1', (0.0, 2*0.0**2+1), (-0.5, 2.0), fontsize=tam, arrowprops=dict(facecolor='b', shrink=0.05, width=2))

 

plt.plot(x, y3, color='k', marker='o', ls='None')

plt.annotate('y=2x^3 - 2', (0.3, 2*0.3**3-2), (-0.2, -3.0), fontsize=tam, arrowprops=dict(facecolor='k', shrink=0.05, width=2))

plt.grid('on')

plt.xlabel('Abcisas', fontsize=tam)

plt.ylabel('Ordenadas', fontsize=tam)

plt.title('Primer', fontsize=tam)

plt.show()



Ejercicio 19

Este programa se encarga de graficar la función seno haciendo uso primero para establecer las dimensiones del seno y posteriormente graficando con el método plot.

import matplotlib.pyplot as plt

import numpy as np

 

a=np.linspace(0,20,50)

b=np.sin(a)

plt.plot(a,b, 'k--', linewidth=2)

plt.show()



 

 

Ejercicio 20

Este programa se encarga de graficar la funcio0n seno doble vez, pero con diferente rangos y diferentes colores y marcadores, además de que sirve para ver el funcionamiento del método legend que sirve para agregar etiquetas a las gráficas dependiendo de las funciones.

import matplotlib.pyplot as plt

import numpy as np

plt.figure('grafico sin')

a=np.linspace(0,20,50)

b=np.sin(a)

c=plt.plot(a,b,'c-3', linewidth=2)

c=plt.plot(a+0.2,b-1,'r-o', linewidth=2)

plt.xlabel("Tiempo(s)", fontsize=20)

plt.ylabel(r"$y (\mu m) $", fontsize=20, color='blue')

plt.text(5,7,"Mas texto", fontsize=12)

plt.title("Velocidad (m\s)", fontsize=20)

plt.legend(('Etiqueta1', 'Etiqueta2','Etiqueta3'),

loc='upper left')

plt.plot(a,b,'k--', linewidth=2)

plt.grid(True)

plt.savefig('tabla.png', dpi=300)

plt.show()



Ejercicio 21

La idea del programa es hacer uso del método subplot para generar las cantidades de graficas que deseemos en una sola corrida para esto se graficó la función seno de cuatro formas distintas.

import matplotlib.pyplot as plt

import numpy as np

a=np.linspace(0,20,50)

b=np.sin(a)

plt.figure()

#plot 1

plt.subplot(2,2,1)

plt.plot(a,b,'r')

 

#plot 2

plt.subplot(2,2,2)

plt.plot(a+2,b*25,'g')

#plot 3

plt.subplot(2,2,3)

plt.plot(b,a,'b')

#plot 4

plt.subplot(2,2,4)

plt.plot(a,b,'k')

 

plt.show()



Ejercicio 22

Este programa grafica una gama de colores mediante el método imshow además agrega una barra que muestra los colores de la gráfica mediante el método colorbar.

import numpy as np

import matplotlib.pyplot as plt

plt.figure()

x=np.arange(-5,5,0.01)

y=np.arange(-5,5,0.01)

x, y=np.meshgrid(x,y)

fxy=np.cos(x**3+y**2)

plt.imshow(fxy)

plt.colorbar()

plt.show()



Ejercicio 23

El siguiente programa se encarga generar una gráfica de barras mediante el método bar de la librería matplotlib, la gráfica es de la posición de los quipos de futbol de los países.

import numpy as np

import matplotlib.pyplot as plt

paises=("Portugal", "Mexico","Brazil","Qatar", "Canada")

posicion_y=np.arange(len(paises))

unidades=(8, 9, 7, 6, 5)

plt.bar(posicion_y, unidades, align='center')

plt.xticks(posicion_y, paises)

plt.ylabel("puntos")

plt.title("Tabla de posiciones")

plt.show()

#plt.xlabel



Ejercicio 24

Este programa se encarga de realizar lo que se conoce como grafica de pastel de la impresión de colores mediante el método pie, añadiendo un título que usa bbox para encerrarlo dentro de una caja de color.

import numpy as np

import matplotlib.pyplot as plt

impr=["b/n","color","duplez","A3"]

vol=[25,31,46,10]

expl=(0,0.50,0,0)

plt.pie(vol,explode=expl,labels=impr,autopct='%1.1f%%', shadow=True)

plt.title("Impresion", bbox={"facecolor":"0.8","pad":5})

plt.show()



Ejercicio 25

Este programa se encarga de realizar una grafica con varias barras haciendo uso del método bar de la librería matplotlib.

import matplotlib.pyplot as plt

import numpy as np

 

datos = [[1, 2, 3, 4], [3, 5, 3, 5], [8, 6, 4, 2]]

X = np.arange(4)

plt.bar(X + 0.00, datos[0], color = "b", width = 0.25)

plt.bar(X + 0.25, datos[1], color = "g", width = 0.25)

plt.bar(X + 0.50, datos[2], color = "r", width = 0.25)

plt.xticks(X+0.38, ["A","B","C","D"])

plt.show()




Comentarios