Update README & add catch-all

Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
Manuel Vergara 2023-09-21 23:46:25 +02:00
parent 897c383904
commit 6f8fa5ee62
5 changed files with 115 additions and 8 deletions

View File

@ -3,7 +3,7 @@
Estos apuntes y ejercicios en python han sido realizados siguiendo un repositorio de [Asabeneh](https://github.com/Asabeneh):
- [30 Days of Python](https://github.com/Asabeneh/30-Days-Of-Python)
El reposotorio original está en inglés, pero he traducido los ejercicios al español, así como los apuntes que he creído convenientes resaltar.
El repositorio original está en inglés, pero he traducido los ejercicios al español, así como los apuntes que he creído convenientes resaltar.
## Índice del curso y apuntes realizados

View File

@ -2,13 +2,14 @@
Este repositorio contiene los apuntes tomados en diversos cursos de python reflejados en la siguiente tabla:
| Curso | Ubicación | Nivel | Duración de vídeos | Duración personal aprox. | Fuente original |
| --------------------: | :---------------------------------------------- | :--------: | :----------------: | :----------------------: | :------------------------------------------------------------------------------------------------------ |
| HolaMundo | [contenidos](./HolaMundo/README.md) | Bajo | 5 horas | 15 horas | [Aprende python ahora!](https://www.youtube.com/watch?v=tQZy0U8s9LY&ab_channel=HolaMundo) |
| Python total | [contenidos](./python-total/README.md) | Intermedio | 30 horas | 200 horas | [Escuela Directa](https://www.udemy.com/course/python-total) |
| Python y ChatGPT | [contenidos](./python-chatgpt/README.md) | Intermedio | 2 horas | 15 horas | [Escuela Directa](https://www.udemy.com/course/python-chatgpt/), [ChapGPT](https://www.chat.openai.com) |
| scripts-hacking-etico | [contenidos](./scripts-hacking-etico/README.md) | Avanzado | --- | 5 horas | [ChapGPT](https://www.chat.openai.com), [Canal Telegram](https://t.me/seguridadinformatic4) |
| 30 days of python | [contenidos](./30-days-of-python/README.md) | Intermedio | --- | próximamente | [Repo Asabeneh](https://github.com/Asabeneh/30-Days-Of-Python) |
| Nombre del curso <br> y ubicación | Nivel | Duración <br> de vídeos | Duración personal <br> aprox. | Fuente original |
| ---------------------------------------------------------: | :--------: | :---------------------: | :---------------------------: | :------------------------------------------------------------------------------------------------------ |
| [HolaMundo](./HolaMundo/README.md) | Bajo | 5 horas | 15 horas | [Aprende python ahora!](https://www.youtube.com/watch?v=tQZy0U8s9LY&ab_channel=HolaMundo) |
| [Python total](./python-total/README.md) | Intermedio | 30 horas | 200 horas | [Escuela Directa](https://www.udemy.com/course/python-total) |
| [Python y ChatGPT](./python-chatgpt/README.md) | Intermedio | 2 horas | 15 horas | [Escuela Directa](https://www.udemy.com/course/python-chatgpt/), [ChapGPT](https://www.chat.openai.com) |
| [30 days of python](./30-days-of-python/README.md) | Intermedio | --- | próximamente | [Repo Asabeneh](https://github.com/Asabeneh/30-Days-Of-Python) |
| [scripts-hacking-etico](./scripts-hacking-etico/README.md) | Avanzado | --- | 5 horas | [ChapGPT](https://www.chat.openai.com), [Canal Telegram](https://t.me/seguridadinformatic4) |
| [Cajón de sastre](./Catch-all/README.md) | Intermedio | --- | continua | [Personal](https://vergaracarmona.es) |
Las prácticas y ejercicios aquí contenidos son los que hice mediante los cursos mencionados o por investigación propia, con mucho café para combatir el insomnio. Realmente, los apuntes no fueron pensados para compartirlos, por ello pueden tener lagunas de información o contenido adicional respecto al curso, ya que se redactaron para recordar procedimientos y conceptos que EMHO me parecieron relevantes. Teniendo estos documentos tan completos y entendiendo que el conocimiento debe ser libre, se decidió compartirlos. Si encuentras **cualquier error puedes abrir una issue o contactar conmigo**.

View File

@ -0,0 +1,53 @@
"""
Random Password Generator
=========================
Genera una contraseña aleatoria con el número
de palabras que indiques a partir de un archivo
de palabras de Linux ubicado en la mayoría
de las distribuciones en /usr/share/dict/words
Despues, pregunta al usuario si desea mezclar
las letras de la contraseña generada.
"""
import random
# Ruta al archivo de palabras en Linux (puede variar según la distribución)
word_file = '/usr/share/dict/words'
# Función para generar una contraseña aleatoria
def generate_password(word_file, num_words):
with open(word_file, 'r') as file:
words = [line.strip() for line in file.readlines()]
# Seleccionar un número de palabras al azar
password_words = random.sample(words, num_words)
# Combinar las palabras para formar la contraseña
password = ''.join(password_words)
return password
# Función para mezclar las letras de una cadena
def shuffle_letters(input_string):
letters = list(input_string)
random.shuffle(letters)
return ''.join(letters)
# Preguntar al usuario cuántas palabras desea en la contraseña
num_words = int(input("Número de palabras para la contraseña: "))
# Generar una contraseña aleatoria con el número de palabras especificado
random_password = generate_password(word_file, num_words)
print("Contraseña aleatoria generada:", random_password)
# Preguntar al usuario si desea mezclar las letras
mezclar_letras = input(
"¿Desea mezclar las letras de la contraseña? (s/n): ").lower()
if mezclar_letras == 's':
random_password = shuffle_letters(random_password)
print("Contraseña con letras mezcladas:", random_password)

View File

@ -0,0 +1,42 @@
"""
random text generator
=====================
Genera un texto aleatorio a partir de un archivo
de palabras de Linux ubicado en la mayoría
de las distribuciones en /usr/share/dict/words
Pregunta al usuario el número de párrafos
y palabras por párrafo.
Se puede utilizar a modo de lorem ipsum.
"""
import random
# Ruta al archivo de palabras en Linux (puede variar según la distribución)
word_file = '/usr/share/dict/words'
# Función para generar texto aleatorio
def generate_random_text(word_file, num_words=50):
with open(word_file, 'r') as file:
words = [line.strip() for line in file.readlines()]
# Seleccionar un número de palabras al azar
random_words = random.sample(words, num_words)
# Combinar las palabras para formar el texto
random_text = ' '.join(random_words)
return random_text
# Preguntar al usuario el número de párrafos y palabras por párrafo
num_paragraphs = int(input("Número de párrafos a generar: "))
num_words_per_paragraph = int(input("Número de palabras por párrafo: "))
# Generar los párrafos de texto aleatorio
print("Texto aleatorio generado:")
for _ in range(num_paragraphs):
random_paragraph = generate_random_text(word_file, num_words_per_paragraph)
print(random_paragraph, "\n")

11
catch-all/README.md Normal file
View File

@ -0,0 +1,11 @@
# Ejercicios del cajón de sastre Python
Aquí iré dejando scripts y ejercicios que se me ocurran, con lo que no hay un orden ni un objetivo concreto. Simplemente, me apetece ir practicando y aprendiendo Python.
## Índice de ejercicios
| Nombre | Descripción | Nivel |
| ---------------------------------------: | :--------------------------------------------- | :--------: |
| [Words Linux](./01_scripts_words_linux/) | Scritp con el fichero: `/usr/share/dict/words` | intermedio |