Update README & add catch-all
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
parent
897c383904
commit
6f8fa5ee62
@ -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
|
||||
|
||||
|
15
README.md
15
README.md
@ -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**.
|
||||
|
||||
|
53
catch-all/01_scripts_words_linux/random_pass.py
Normal file
53
catch-all/01_scripts_words_linux/random_pass.py
Normal 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)
|
42
catch-all/01_scripts_words_linux/random_text.py
Normal file
42
catch-all/01_scripts_words_linux/random_text.py
Normal 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
11
catch-all/README.md
Normal 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 |
|
Loading…
Reference in New Issue
Block a user