Hay páginas Web para empezar a aprender Python como https://replit.com/
Algunos comandos y sus significados:
Algunas de estas herramientas son las siguientes:
Una Variable es como una caja donde puedo almacenar información (números texto, etc)
Las variables en Python se ponen primero poniendo un identificador por ejemplo my_name = (”Nicolas”). Despues al imprimir “my_name” lo que se mostrará es “Nicolas”
En caso que en el código yo vuelva a asignar un valor a una misma variable, primero se muestra la inical y luego la segunda
input: es una función que hace que podamos asignar un valor a una variable a través de la interacción con el usuario. Todo lo va a tratar como un String
Tipos de datos primitivos
Tipos de dato adicionales
type: Indica que tipo de dato estoy utilizando
Son aquellos que nos permiten ejecutar cualquier calculo.
A continuación unos ejemplos:
print(10 + 10) # Suma
print(10 - 5) # Resta
print(10 * 2) # multiplicación
print(10 / 2) # 5
print(10 % 2) # 0 Indica cual es el residuo
print(10 / 3) # División
print(10 % 3) # Indica cual es el residuo
print(10 // 3) # Indica el número entero de una división
print(2 ** 3) # Exponencial
Ahora, si tenemos una operación matemática como: print(2 ** 3 + 3 - 7 / 1 // 4) debemos recordar el orden en que se resuelven las operaciones:
Para este punto tenemos los operadores:
: Mayor que. Devuelve como respuesta un booleano - print(7 > 3)
= : Mayor o igual que. Devuelve como respuesta un boolean - print(2 >= 1)
Otro ejemplos:
Se debe tener cuidado al comparar flotantes, porque el resultado a no ser el mismo, el resultado va a ser un False cuando sabemos que no lo es. Ejemplo:
x = 3.3
print(x) : 3.3
y = 1.1 + 2.2
print(y) : 3.3000000003
print(x == y) : False
y_str = format(y, “.2g”) : estoy creando una variable string formateando el numero y dejándole solo 2 dígitos de largo
print(‘str =>’, y_str) : Al imprimir me sale 3.3
print(y_str == str(x)) : Con esto compare 2 strings
print(y, x)
tolerance = 0.00001 # Estoy agregando o definiendo una tolerancia
print(abs(x - y) < tolerance) # Estoy volviendo como absoluto la operación y después indicando si el resultado es menor que la tolerancia definida
print(‘True and True =>’, True and True) # Da True
print(‘True and False =>’, True and False) # Da False
La condición para que de True es que las dos partes de la comparación de un verdadero para que el resultado también de verdadero
print(‘OR’)
print(‘True and True =>’, True or True) # True
print(‘True and False =>’, True or False) # True
print(‘False and True =>’, False or True) # True
print(‘False and False =>’, False or False) # False
Evalúa si alguno de los 2 es verdadero y si si, retorna un True
Este operador se utiliza para ejecutar negaciones. Uno de los ejemplos mas vistos, es la negación de and
Esto es donde le damos a la computadora que ejecute ciertas instrucciones de acuerdo a las condiciones
Con el string se puede hacer muchas mas cosas que considerarlo una cadena de caracteres. A continuación algunos ejemplos:
Buscar una palabra dentro de un String
text = ‘Ella sabe programar en Python’ # nombramos la variable
print(‘JavaScript’ in text) # estamos preguntando si la palabra “Javascript” está dentro de la frase a lo que será False la respuesta
print(‘Python’ in text) # estamos preguntando si la palabra “Python” está dentro de la frase a lo que será True la respuesta (Las mayúsculas también cuentan)
Contar cantidad de caracteres
size = len(‘amor’) # estamos asignando a la variable size los caracteres amor, pero la función len se usa para contar los caracteres (incluido espacios)
print(size) # imprimir
Pasar a mayúsculas
print(text)
print(text.upper()) # upper sirve para esto
Pasar a minúsculas
rint(text)
print(text.lower()) # lower sirve para esto
Contar caracteres específicos
print(text.count(‘a’)) # Cuanta la cantidad de a que aparece en el text
Pasar de Mayus a Minusc o viceversa
print(text.swapcase()) # Cambia carácter por carácter
Validar si el texto empieza con una serie de caracteres
print(text.startswith(‘Ella’)) # Saldría True
Validar si el texto termina con una serie de caracteres
print(text.endswith(‘Rust’)) # Saldría False
Reemplazar caracteres
print(text.replace(‘Python’, ‘Go’))
Poner el primer caracter en mayúscula
text_2 = 'este es un titulo’
print(text_2)
print(text_2.capitalize())
Poner en mayúscula la primera letra de cada palabra
print(text_2.title())
Validar si el texto es un digito o no
print(text_2.isdigit()) # Nos daría False
print(‘398’.isdigit()) # Nos daría True porque puede ser un potencial digito
Otros comandos
Indexing significa que los textos tienen un indicador, el cual puedo ingresar a nivel de posiciones. Ejemplo
text = 'Ella sabe Python’
print(text[0]) # Me devuelve la E
print(text[1]) # Me devuelve la l
Sacar el último carácter
size = len(text) # Me va a contar la cantidad de caracteres que tiene el texto
print('size => ', size) # Me va a mostrar que hay 16 caracteres
print(text[size - 1]) # Como en código empieza en 0, es decir no hay 16 caracteres, se le pone el -1
Otra forma de sacar el último carácter
print(text[-1]) # Esto es porque el -1 de inmediato actúa de izquierda a derecha como contador
slicing significa que basado en las posiciones de los caracteres dentro de nuestro string podemos sacar ciertas partes del texto. Por ejemplo:
print(text[0:5]) # saco los caracteres de la posición 0 a la 5 y sale la palabra Ella
print(text[10:16])
print(text[:10]) # Si no le pongo el 0, Python va a saber que inicia desde el principio
Ir de un punto al final
rint(text[5:-1]) # El problema es que sale Sabe Pyhto obviando la n, para solucionar esto
print(text[5:]) # Sale Sabe Python
Saltos
print(text[10:16:1]) # Me devuelve la palabra Python porque desde el carácter 10 que es la P, salta de 1 en 2
print(text[10:16:2]) # Me devuelve la palabra Pto porque desde el carácter 10 que es la P, salta de 2 en 2
Es una variable que me permite guardar varios elementos y no solo uno de ellos. ejemplo:
numbers = [1, 2, 3, 4]
print(numbers)
print(type(numbers)) # Me indica que es una list
tasks = [‘make a dishes’, ‘play PS4’]
print(tasks)
types = [1, True, ‘hola’]
print(types)
print(numbers[0]) # Me muestra 1
print(tasks[0]) # Me muestra make a dishes
Mutar: Los Strings son inmutables pero las listas si nos permite hacer estos cambios
tasks[0] = 'estudiar Platzi’
print(tasks) # Nos cambia make a dishes por estudiar Platzi
crud hace referencia a la posibilidad de crear, leer, actualizar y eliminar
Agregar un elemento al final
numbers.append(700) # agrega el 700 siempre al final de la lista
print(numbers)
Agregar un elemento en cualquier posición
numbers.insert(0, ‘hola’)
print(numbers)
numbers.insert(3, ‘change’) # donde se crea un espacio en la posición 3, se inserta change y el resto se corre a la derecha
Unir una lista con otra
tasks = [‘todo 1’, ‘todo 2’, ‘todo 3’]
new_list = numbers + tasks
print(new_list)
Saber en que posición está y actualizarlo
index = new_list.index(‘todo 2’) # Me indica en que posición está todo 2. Si lo imprimo sale la posición, pero al cambiarlo así estoy indicando que index es la posición buscada
new_list[index] = ‘todo changed’ # Lo que quiero cambiar de la posición que ubique
print(new_list) = El resultasdo
Remover o eliminar elementos
new_list.remove(‘todo 1’) # busca el todo 1 y lo remueve al imprimir la lista
print(new_list)
Eliminar el ultimo elemento de la lista
new_list.pop() # Si no le envío nada por defecto va a eliminar el último
print(new_list)
new_list.pop(0) # En este ejemplo elimino el primero
print(new_list)
Imprimir la lista al revés
new_list.reverse()
print(new_list)
Ordenar la lista
numbers_a = [1, 4, 6, 3]
numbers_a.sort()
print(numbers_a) # Sale como resultado la lista ordenada
strings = [‘re’, ‘ab’, ‘ed’]
strings.sort()
print(strings) # Sale la lista con los elemento ordenados
NOTA: Si tengo una lista con palabras y numeros, no sirve el sort
Otros Métodos:
Las Tuplas son inmutables como las cadenas de texto. y para buscar las posiciones , funciona igual que las listas. Con una tupla solo puedo hjacer una declaración, pero no puedo insertar más elementos allí:
Que se puede hacer:
numbers = (1, 2, 3, 5)
string = (‘nico’, ‘zule’, ‘santi’)
Buscar un elemento dentro de la tupla y ver en que posición está:
print(string)
print(string.index(‘zule’))
Contar cuantas veces está un elemento dentro de la tupla
Supongamos que la lista sea string = (‘nico’, ‘zule’, ‘santi’, ‘nico’)
print(string.count(‘nico’)) # saldra el numero 2
Pasar de una tupla a una lista
my_list = list(string)
Transformar de una lista a una tupla
Es un conjunto de elementos que pueden ir agrupados.
my_dict = {
'avion': 'definición de avión va aca',
'name': 'Esteban',
'last_name': 'Benavides Manosalva',
'age': 37
}
los cuales si los cuento me indica que tengo 4 pares de elementos
También puedo pedir directamente una variable a lo que se arroja la respuesta de esa variable. Si se digita algo que no es da un error directamente
print(my_dict['age'])
print(my_dict['last_name'])
Pero hay otra forma de buscar, en donde si no lo encuentra devuelve none
print(my_dict.get('age'))
De igual forma podemos validar si la palabra contenida se encuentra o no
print('avion'in my_dict)
print('otroqueno'in my_dict)
También es posible cambiar los valores de un diccionario
person = {
'name': 'Esteban',
'last_name': 'Benavides Manosalva',
'langs': ['python', 'javascript'],
'age': 37
}
print(person)
person['name'] = 'Juan'
person['age'] -= 10
person['langs'].append('rust')
print(person)
De igual forma podemos eliminar un valor completamente de 2 formas diferentes:
del person['last_name']
person.pop('age') # siempre debe tener un valor
Hay otras funciones que se pueden ver
print('items')
print(person.items()) # devuelve los pares en forma de tuplas que sirve para recorrer un diccionario
print('keys')
print(person.keys()) # devuelve una lista de las llaves que se estan utilizando
print('values')
print(person.values()) # devuelve una lista con los valores que se están utilizando
Son ciclos que es una forma de ejecutar un código múltiples veces hasta que una condicional se cumpla.
Ctrl + C : Detiene un ciclo infinito
Con la función “while” que es un mientras, se ejecuta un comando, por lo que se recomienda que siempre se le de una condición para el cumplimiento del comando y así evitar que se vuelva un ciclo infinito
counter = 0while counter < 10:
counter += 1
print(counter) # hace que exista un contador que llega hasta 10
while counter < 20:
counter += 1if counter == 15:
break# se usa para romper un ciclo de manera forzada y llega hasta el 14
print(counter)
counter = 0while counter < 20:
counter += 1# hace que cuente de uno en unoif counter < 15: # le indica al contador que pase algo si el contador es menos a 15continue# esa acción es que continue, es decir que sale a 15 y cuenta hasta 20
print(counter)
Se utiliza cuando tenemos un numero de elementos o iteraciones dadas por otro elemento
for element in range(20):
print(element) # devuelve un contador de 0 a 19for element in range(1, 21):
print(element) # devuelve un contador de 1 a 20
con una lista, es posible utilizar for para que recorra una vez cada elemento
my_list = [36, 25, 89, 92, 95]
for element in my_list:
print(element)
Ejercicio:
En este desafío, se te proporcionará una lista de números llamada my_list
. Tu tarea es recorrer esta lista y utilizar un ciclo para seleccionar solo los números positivos. Luego, debes agregar estos números a una nueva lista llamada new_list
. Al final del ciclo, debes imprimir los valores contenidos en new_list
utilizando la función print
.
Por ejemplo, si la lista es [1, -1, 2, -2, 3, -3, 4, -4]
, después de realizar las operaciones descritas, la lista new_list
debería contener solo los números positivos, es decir, [1, 2, 3, 4]
.
Input: [1, -1, 2, -2, 3, -3, 4, -4]
Output: [1, 2, 3, 4]
Desarrollo
my_list = [1, -1, 2, -2, 3, -3, 4, -4]
new_list = []
# Escribe tu solución 👇for number in my_list:
if number > 0:
new_list.append(number)
print(new_list)
o
Es un ciclo dentro de otro ciclo.