sueldo = 2500 irpf = 15 # Tenemos esta tabla: hasta 2000 10%, hasta 3000 12% hasta 5000 15% resto 25% if sueldo < 2000: irpf = 10 else: if sueldo < 3000: irpf = 12 else: if sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf) # Lo de arriba se puede reescribir usando la estructura elif if sueldo < 2000: irpf = 10 elif sueldo < 3000: irpf = 12 elif sueldo < 5000: irpf = 15 else: irpf = 25 print(irpf)
Condicionales python
# Estructura de control: Nos permite definir el flujo del programa # if : comprobar una condición y si se cumple se ejecuta un código # y, opcionalmente, si no se cumple, se ejecuta otro edad=int(input("Dime tu edad")) if edad>=18: print("Bienvenido a la web") print("Eres bienvenido/a") print("Disfruta del contenido") else: print("Eres menor de edad") print("Introduce un codigo de autorización si quieres acceder") codigo=input("Dime el codigo") if codigo=="1234": print("Bienvenido") else: print("Código incorrecto") print("Esto está fuera del if y se ejecuta tanto si se cumple la condición como si no") # Comparaciones # >, >=, <, <= , ==, != # La igualdad se utilizan dos signos = if edad==18: print("Bienvenido a la mayoría de edad") # Para diferente exclamación e igual != if edad!=18: print("No tienes 18 años") # Recordad que vimos los operadores booleanos # and, or, not if edad>=18 and edad<=25: print("Tienes descuento de carnet joven (entre 18 y 25)") if edad<18 or edad>65: print("Tienes descuento de niño o jubilado (menor de 18 o mayor de 65") # recordad la precedencia de los operadores, el and va primero if edad<18 or edad>20 and edad<30: print("Esto se cumple si la edad es menor de 18") print("O la edad está entre 20 y 30") # Recordad que si dudamos podemos usar paréntesis, que son gratis: if edad<18 or (edad>20 and edad<30): print("Esto se cumple si la edad es menor de 18") print("O la edad está entre 20 y 30") if not edad>=18: print("Eres menor") if edad<18: print("Es lo mismo") # Mini ejercicio planteado # Vamos a hacer un if que nos de un descuento si la edad es 40 o 50
Soluciones variables
import datetime ahora = datetime.datetime.now() anio_actual=ahora.year anio_actual=2025 anio_nacimiento=int(input("Dime tu año de nacimiento")) print(f"Este año tendrás {anio_actual-anio_nacimiento} años") # Calcular el área de un triángulo base=float(input("Dime la base")) altura=float(input("Dime la altura")) area=base*altura/2 print("El área es ",area) # saber hacer esto es importante porque puede ser que queramos # almacenar el valor, no imprimirlo print("El área es "+str(area)) print(f"El área es {area}") # Pido el número numero=int(input("Dime un numero del 10 al 99")) decenas=numero//10 unidades=numero%10 suma=decenas+unidades print("La suma es ",suma) # Pido los minutos total_minutos=int(input("Dime cuantos minutos")) # calculo horas y minutos horas=total_minutos//60 minutos=total_minutos%60 # muestro print(f"{horas} horas y {minutos} minutos")
Ejemplos operadores
precio=80 personas=7 print(precio/personas) print(precio//personas) print(2**4) # Modulo % Resto de la división print(17%5) # ¿Cómo saber si un número es par o impar? # Si el módulo 2 es 0, es par # si el módulo 2 es 1, es impar print(8%2) # 0, es par print(81%2) # 1, es impar numero=9 print(numero%2) print(numero%3) giro=850 print(giro%360)
Conversiones
texto = "123" numero = int(texto) print(numero + 10) # 133 texto = "12.3" numero = float(texto) print(numero + 10) # 22.3 edad = 30 print("Tienes " + str(edad) + " años") # Tienes 30 años # Esto da un error porque son tipos diferentes # print("Tienes " + (edad) + " años") # Tienes 30 años print(bool(0)) # False print(bool(1)) # True print(bool(125)) # True print(bool("")) # False print(bool("hola")) # True
Imprimir en python
print("hola") edad=20 print(edad) print("hola",edad) print("tu edad es ",edad) # La f lo que quiere decie es 'cadena formateada' # Nos permite poner valores entre llaves print(f"Tu edad es {edad} enhorabuena") print("Tu edad es",edad,"enhorabuena") print(f"Dentro de 10 años tendrás {float(edad)+10}") # La barra (slash) se llama carácter de escape # El caracter siguiente es especial # \" es una comilla print("Se llama \"wifi\" y es un medio de conexión") # \n es un salto de línea print("Se llama \n y es un medio de conexión") # \t es un tabulador print("Se llama \ty es un medio de conexión") # \\ es un barra print("para imprimir barra \\ ") # opciones del print print("hola",edad,"pepe",14) # especifico cual quiero que sea el separador print("hola",edad,"pepe",14, sep=" -- ") # especificar el final de línea print("hola") print("juan") print("hola", end=", ") print("juan") with open("salida.txt", "w") as f: print("Esto va al archivo", file=f) print("Esto también", file=f)
Variables
# tipos enteros (int) (sin decimales) edad=40 # tipos con decimales (float). Se usa el punto para indicar decimales temperatura=20.7 # Cadenas de letras (string) nombre='Ana' apellido=("Pi i Margall") direccion="""Calle del pino 08001 Barcelona""" precio=100 preciomal="100" cp="08001" precioConIva=precio*1.21 precioConIva2=float(preciomal)*1.21 # Booleano valores de cierto/falso (bool) mayorDeEdad=True estaLogueado=False
Juegos retro pantallas LCD
Codificar Hash con SHA256 en C#
https://hdeleon.net/funcion-para-encriptar-en-sha256-en-c-net/
public class Encrypt{ public static string GetSHA256(string str) { SHA256 sha256 = SHA256Managed.Create(); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] stream = null; StringBuilder sb = new StringBuilder(); stream = sha256.ComputeHash(encoding.GetBytes(str)); for (int i = 0; i < stream.Length; i++) sb.AppendFormat("{0:x2}", stream[i]); return sb.ToString(); } }