You've already forked Curso-lenguaje-python
Add course Python ofensivo
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
This commit is contained in:
24
python-ofensivo/00_ejercicios/01_combinar_listas.py
Normal file
24
python-ofensivo/00_ejercicios/01_combinar_listas.py
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Combinar listas
|
||||
"""
|
||||
|
||||
# Ejercicio 1
|
||||
odd_number = [1, 3, 5, 7, 9]
|
||||
even_number = [2, 4, 6, 8, 10]
|
||||
|
||||
zip_numbers = zip(odd_number, even_number)
|
||||
|
||||
new_list = []
|
||||
for odd, even in zip_numbers:
|
||||
new_list.append(odd + even)
|
||||
|
||||
print(new_list)
|
||||
|
||||
# Ejercicio 2
|
||||
odd_number = [1, 3, 5, 7, 9]
|
||||
even_number = [2, 4, 6, 8, 10]
|
||||
|
||||
result = list(map(sum, zip(odd_number, even_number)))
|
||||
|
||||
print(result)
|
||||
3
python-ofensivo/00_ejercicios/README.md
Normal file
3
python-ofensivo/00_ejercicios/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Cajón de sastre de ejercicios
|
||||
|
||||
...
|
||||
50
python-ofensivo/01_oneliner/README.md
Normal file
50
python-ofensivo/01_oneliner/README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
# Ejemplos de oneliner en Python
|
||||
|
||||
No solo está la opción del interprete de python, también puedes utilizar la opción `-c` del comando para crear un script en línea.
|
||||
|
||||
Ejemplos:
|
||||
|
||||
```bash
|
||||
python3 -c 'import pty; pty.spawn("/bin/bash")'
|
||||
```
|
||||
|
||||
1. **Imprimir números del 1 al 10:**
|
||||
```bash
|
||||
python33 -c 'print([i for i in range(1, 11)])'
|
||||
```
|
||||
|
||||
2. **Calcular la suma de los cuadrados de los números del 1 al 5:**
|
||||
```bash
|
||||
python33 -c 'print(sum([i**2 for i in range(1, 6)]))'
|
||||
```
|
||||
|
||||
3. **Listar archivos en el directorio actual:**
|
||||
```bash
|
||||
python33 -c 'import os; print(os.listdir("."))'
|
||||
```
|
||||
|
||||
4. **Imprimir la fecha y hora actual:**
|
||||
```bash
|
||||
python33 -c 'from datetime import datetime; print(datetime.now())'
|
||||
```
|
||||
|
||||
5. **Contar las líneas en un archivo:**
|
||||
```bash
|
||||
python33 -c 'print(sum(1 for line in open("archivo.txt")))'
|
||||
```
|
||||
|
||||
6. **Invertir una cadena:**
|
||||
```bash
|
||||
python33 -c 'cadena = "Hola mundo"; print(cadena[::-1])'
|
||||
```
|
||||
|
||||
7. **Generar una lista de números pares del 0 al 8:**
|
||||
```bash
|
||||
python33 -c 'print([i for i in range(9) if i % 2 == 0])'
|
||||
```
|
||||
|
||||
8. **Verificar si un número es primo:**
|
||||
```bash
|
||||
python33 -c 'n = 11; print("Primo" if all(n % i != 0 for i in range(2, int(n**0.5) + 1)) and n > 1 else "No primo")'
|
||||
```
|
||||
29
python-ofensivo/02_shebang_convenios/README.md
Normal file
29
python-ofensivo/02_shebang_convenios/README.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Shebang
|
||||
|
||||
Es más óptimo usar `#!/usr/bin/env python` que `#!/usr/bin/python` porque el primero busca el intérprete en el `PATH` del sistema, mientras que el segundo asume que el intérprete está en `/usr/bin/python`.
|
||||
|
||||
# Convenios Python
|
||||
|
||||
Por otro lado, el `if` siguiente es una convención para que el código que está dentro de él solo se ejecute si el script se ejecuta directamente, y no si se importa como módulo.
|
||||
|
||||
```python
|
||||
if ___name___ == '___main___':
|
||||
|
||||
print('Soy el módulo principal')
|
||||
|
||||
else:
|
||||
|
||||
print('No soy el módulo principal')
|
||||
```
|
||||
|
||||
Tener en cuenta que el nombre de las variables son en minúsculas, y si son varias palabras, se separan con guiones bajos, en snake_case Por ejemplo: `nombre_de_la_variable`.
|
||||
|
||||
Las Constantes son en mayúsculas, y si son varias palabras, se separan con guiones bajos, en SCREAMING_SNAKE_CASE. Por ejemplo: `NOMBRE_DE_LA_CONSTANTE`.
|
||||
|
||||
Las Clases son en UpperCamelCase, es decir, la primera letra de cada palabra en mayúsculas. Por ejemplo: `NombreDeLaClase`.
|
||||
|
||||
Las funciones son en minúsculas, y si son varias palabras, se separan con guiones bajos, en lowercamelcase. Por ejemplo: `nombredelafuncion`.
|
||||
|
||||
Las variables privadas se nombran con un guión bajo al principio. Por ejemplo: `_variable_privada`.
|
||||
|
||||
|
||||
19
python-ofensivo/README.md
Normal file
19
python-ofensivo/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Apuntes del curso Python Ofensivo
|
||||
|
||||
_Confirmado, no es una serpiente que te insulta_
|
||||
|
||||
Estos apuntes y ejercicios en python son parte del curso de Python Ofensivo de [hack4u](https://hack4u.io):
|
||||
- [Curso Python Ofensivo](https://hack4u.io/cursos/python-ofensivo/)
|
||||
|
||||
¡Te recomiendo que lo hagas cogiendo tus propios apuntes! Este repositorio es para mi uso personal, pero si te sirve de ayuda, ¡me alegro!
|
||||
|
||||
Quizá encuentres aquí cosas que no están en el vídeo, o viceversa, son apuntes personales 😊
|
||||
|
||||

|
||||
|
||||
| Ejercicios y apuntes |
|
||||
| ------------------------------------------------------------ |
|
||||
| 0. [Cajón de sastre de ejercicios](./00_cajon_sastre) |
|
||||
| 1. [Ejemplos de oneliner en python](./01_oneliner/README.md) |
|
||||
| 2. [Shebang y convenios](./02_shebang_convenios/README.md) |
|
||||
|
||||
Reference in New Issue
Block a user