C: Ejercicios resueltos


Ejercicio C.1:

Hagamos un script que pregunte al usuario por una cadena de texto y te diga si esa palabra es una palabra que esté en el diccionario de la RAE o no. Para eso podemos bajarnos el fichero .txt con todas las palabras de dicho diccionario de este repositorio. Por cierto que en dicho repositorio el autor cuenta como ha obtenido dicha lista de palabras (un ejercicio de scraping interesante, que veremos más adelante).

[1]:
# Descargamos el fichero (esto aún no hay que saberlo)
import requests

url = 'https://raw.githubusercontent.com/JorgeDuenasLerin/diccionario-espanol-txt/master/0_palabras_todas.txt'
r = requests.get(url);

open('salidas/0_palabras_todas.txt', 'wb').write(r.content)

f = open("salidas/0_palabras_todas.txt", "r")
palabras = f.readlines()
f.close()

for i in range(1,len(palabras)):
    palabras[i] = palabras[i].strip()

palabra = input("Dime una palabra cualquiera: ")

if palabra in palabras:
    print(f'La palabra "{palabra}" SI está en el diccionario de la RAE')
else:
    print(f'La palabra "{palabra}" NO está en el diccionario de la RAE')
Dime una palabra cualquiera:  esternocleidomastoideo
La palabra "esternocleidomastoideo" SI está en el diccionario de la RAE

Ejercicio C.5:

Lista todos los ficheros del directorio ficherosAuxiliares que tengan una extension .jpg o .png.

[2]:
from pathlib import Path

directorio = Path('ficherosAuxiliares')

for hijo in directorio.iterdir():  # Iteramos por todos los ficheros (y directorios) de un directorio
    nombreArchivo = str(hijo)
    if nombreArchivo.endswith(".jpg") or nombreArchivo.endswith(".png"):
        print(hijo)
ficherosAuxiliares/fractal2.png
ficherosAuxiliares/fractal.png
ficherosAuxiliares/ESP32_motor_real.jpg
ficherosAuxiliares/portadaWebScraping.jpg
ficherosAuxiliares/INDI_kstars_03.jpg
ficherosAuxiliares/fractalGris.png
ficherosAuxiliares/moduloGPS.jpg
ficherosAuxiliares/ocultacionTritonAnotada.png
ficherosAuxiliares/data_cube.jpg
ficherosAuxiliares/ESP32_led.jpg
ficherosAuxiliares/INDI_kstars_02.jpg
ficherosAuxiliares/the-spectral-data-cube.png
ficherosAuxiliares/ESP32.jpg
ficherosAuxiliares/ocultacionTriton.png
ficherosAuxiliares/portadaCurso.jpg
ficherosAuxiliares/portadaINDI.jpg
ficherosAuxiliares/INDI_kstars_01.jpg
ficherosAuxiliares/ESP32_led_real.jpg
ficherosAuxiliares/stacking-images.jpg

Ejercicio C.6:

Transforma con el comando externo convert de ImageMagick todas las imagenes .jpg y .png que haya en el directorio ficherosAuxiliares haciéndolas en doble de grandes y cuyo nombre de archivo sea el nombre original añadiéndole _doble. Por ejemplo, el fichero fractal.png deberá llamarse fractal_doble.png. Los ficheros copiados deberán grabarse en la carpeta salidas.

[3]:
from pathlib import Path
import subprocess

nombreDirEntrada = 'ficherosAuxiliares'
directorio = Path(nombreDirEntrada)
nombreDirSalidas = "salidas"

for hijo in directorio.iterdir():  # Iteramos por todos los ficheros (y directorios) de un directorio
    nombreArchivo = str(hijo)
    if nombreArchivo.endswith(".jpg") or nombreArchivo.endswith(".png"):
        print(hijo)

        nuevoNombre = nombreDirSalidas + nombreArchivo[len(nombreDirEntrada):-4] + "_doble" + nombreArchivo[-4:]

        print(nuevoNombre)

        subprocess.run(["convert", nombreArchivo, "-resize", "200%", nuevoNombre])
ficherosAuxiliares/fractal2.png
salidas/fractal2_doble.png
ficherosAuxiliares/fractal.png
salidas/fractal_doble.png
ficherosAuxiliares/ESP32_motor_real.jpg
salidas/ESP32_motor_real_doble.jpg
ficherosAuxiliares/portadaWebScraping.jpg
salidas/portadaWebScraping_doble.jpg
ficherosAuxiliares/INDI_kstars_03.jpg
salidas/INDI_kstars_03_doble.jpg
ficherosAuxiliares/fractalGris.png
salidas/fractalGris_doble.png
ficherosAuxiliares/moduloGPS.jpg
salidas/moduloGPS_doble.jpg
ficherosAuxiliares/ocultacionTritonAnotada.png
salidas/ocultacionTritonAnotada_doble.png
ficherosAuxiliares/data_cube.jpg
salidas/data_cube_doble.jpg
ficherosAuxiliares/ESP32_led.jpg
salidas/ESP32_led_doble.jpg
ficherosAuxiliares/INDI_kstars_02.jpg
salidas/INDI_kstars_02_doble.jpg
ficherosAuxiliares/the-spectral-data-cube.png
salidas/the-spectral-data-cube_doble.png
ficherosAuxiliares/ESP32.jpg
salidas/ESP32_doble.jpg
ficherosAuxiliares/ocultacionTriton.png
salidas/ocultacionTriton_doble.png
ficherosAuxiliares/portadaCurso.jpg
salidas/portadaCurso_doble.jpg
ficherosAuxiliares/portadaINDI.jpg
salidas/portadaINDI_doble.jpg
ficherosAuxiliares/INDI_kstars_01.jpg
salidas/INDI_kstars_01_doble.jpg
ficherosAuxiliares/ESP32_led_real.jpg
salidas/ESP32_led_real_doble.jpg
ficherosAuxiliares/stacking-images.jpg
salidas/stacking-images_doble.jpg