# Escribir un programa que nos muestre una cuenta atrás desde 10 # 10 9 8 ... cuenta = 10 while cuenta > 0: print(cuenta) cuenta -= 1 # Escribir un programa que muestre los cuadrados pares de los números del 1 al 100 # 4,16,36.... contador = 1 while contador <= 100: # calculo el cuadrado cuadrado=contador**2 # compruebo si es par if (cuadrado % 2 == 0): # imprimo print(cuadrado) contador += 1
Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Otro ejemplo de renderizar listas
function Alumnos() { let lista = [{ id: 1, nombre: "Ana", nota: 7 }, { id: 2, nombre: "Eva", nota: 5 }, { id: 3, nombre: "Pep", nota: 8 } ] return (<ul> { lista.map((valor) => <li key={valor.id}>{valor.nombre + " : " + valor.nota}</li>) } </ul>) } export default Alumnos;
Ejemplo estados complejos
import React, { useState } from 'react'; import Numero from './Numero' const Contador = () => { // Quiero variables dentro de una página de react tengo que utilizar estado const [contador, setContador] = useState({ valor: 0, historial: [] }); const [cadena, setCadena] = useState("") const incrementarContador = () => { setContador({ valor: contador.valor + 1, historial: contador.historial.concat("I") }); setCadena("") console.log(contador) }; const decrementarContador = () => { if (contador.valor > 0) { setContador({ valor: contador.valor - 1, historial: contador.historial.concat("D") }); } else { setCadena("No puedes poner número negativos") } }; const resetearContador = () => { setContador({ valor: 0, historial: [...contador.historial,"R"] }); setCadena("") }; return ( <div> <Numero numero={contador.valor} resetear={resetearContador} /> <p> {cadena}</p> <button onClick={incrementarContador}>Incrementar</button> <button onClick={decrementarContador}>Decrementar</button> <button onClick={resetearContador}>Reset</button> </div> ); }; export default Contador;
Interacción estados padres e hijos
import React, { useState } from 'react'; import Numero from './Numero' const Contador = () => { // Quiero variables dentro de una página de react tengo que utilizar estado const [contador, setContador] = useState(0); const [cadena, setCadena] = useState("") const incrementarContador = () => { setContador(contador + 1); setCadena("") }; const decrementarContador = () => { if (contador>0) { setContador(contador - 1); }else{ setCadena("No puedes poner número negativos") } }; const resetearContador = () => { setContador(0); setCadena("") }; return ( <div> <Numero numero={contador} resetear={resetearContador}/> <p> {cadena}</p> <button onClick={incrementarContador}>Incrementar</button> <button onClick={decrementarContador}>Decrementar</button> <button onClick={() => setContador(0)}>Reset</button> </div> ); }; export default Contador;
import './Numero.css' function Numero({ numero, resetear }) { return <h1 onClick={resetear}>{numero}</h1> } export default Numero;
Ejemplo de estados con contador y texto
import React, { useState } from 'react'; const Contador = () => { // Quiero variables dentro de una página de react tengo que utilizar estado const [contador, setContador] = useState(0); const [cadena, setCadena] = useState("") const incrementarContador = () => { setContador(contador + 1); setCadena("") }; const decrementarContador = () => { if (contador>0) { setContador(contador - 1); }else{ setCadena("No puedes poner número negativos") } }; return ( <div> <p>Contador: {contador}</p> <p> {cadena}</p> <button onClick={incrementarContador}>Incrementar</button> <button onClick={decrementarContador}>Decrementar</button> <button onClick={() => setContador(0)}>Reset</button> </div> ); }; export default Contador;
Solución 2
import Cabecera from './Cabecera'; import Boton from './Boton'; function Bloque({ texto }) { const pinchar=()=>{ console.log("Has pinchado el botón "+texto) } // Paso el evento del padre al hijo return <div> <Cabecera texto={texto} /> <Boton texto="Pincha aquí" evento={pinchar}/> </div>; } export default Bloque;
function Boton({ texto,evento }) { return <button onClick={evento}>{texto}</button>; } export default Boton;
Solución 1 evento botón
Pasar la información del padre al hijo
En bloque pasamos el texto al botón
import Cabecera from './Cabecera'; import Boton from './Boton'; function Bloque({ texto }) { // Paso la información del padre al hijo return <div> <Cabecera texto={texto} /> <Boton texto="Pincha aquí" bloque={texto}/> </div>; } export default Bloque;
function Boton({ texto,bloque }) { return <button onClick={()=>pinchar(bloque)}>{texto}</button>; } const pinchar=(texto)=>{ console.log("Has pinchado el botón "+texto) } export default Boton;
Todo sobre Unicode
Ejemplos
# Bucle es repetir algo varias veces # while condicion: ejecutamos algo contador = 0 while contador < 5: # mientras contador valga menos de 10 ejecuta el siguiente código contador += 1 # dentro del while print(contador) # dentro del while print("Proceso acabado") # fuera del while contador = 1 while contador < 100 and contador % 7 != 0: contador += 1 # dentro del while print(contador) # dentro del while # suma los números del 1 al 100 contador = 1 suma = 0 while contador <= 100: suma += contador contador += 1 print("Los numeros del 1 al 100 suman ", suma) # imprime por la consola los cuadrados de los números del 1 al 10 contador = 1 while contador <= 10: print(contador ** 2) contador += 1 cadena="" while len(cadena)<10: cadena+="*" print(cadena) contador=0 while contador<100: contador+=7 print(contador)
Ejemplos combinadas
edad = 19 altura = 130 print("Tu altura es de ", 130, " cm") # En una atracción del Tibidabo puedes entrar si mides más de 130 cm o tienes más de 10 años # condiciones combinadas: tener varias condiciones conectadas con operadores lógicos # ¿Qué es un operador lógico? Básicamente dos: and y or # and implica que se cumplan las dos condiciones # or que se cumpla alguna if edad >= 10 or altura >= 130: print("Puedes subir") else: print("No puedes subir") # Para entrar en la discoteca tienes que tener más de 18 años y llevar zapatos llevoZapatos = True if edad >= 18 and llevoZapatos: print("Puedes entrar a la discoteca") else: print("No puedes entrar") # hay otro operador lógico que es el not: lo que hace es negar la condición llevoZapatillas = True if edad >= 18 and not llevoZapatillas: print("Puedes entrar") else: print("No puedes entrar") departamento = "marketing" sueldo = 1000 # si el departamento es marketing y el sueldo está entre 900 y 1500 el irpf es de .8 # si el departamento es contabilidad y el sueldo está entre 1000 y 5000 el irpf es de .9 if departamento == "marketing" and sueldo >= 900 and sueldo <= 1500: irpf = .8 if departamento == "contabilidad" and sueldo >= 1000 and sueldo <= 5000: irpf = .9 # prioridad: not and or # departamento marketing y sueldo > 3000 o departamento contabilidad y sueldo >4000 irpf=1.2 if departamento == "marketing" and sueldo > 3000 or departamento == "contailidad" and sueldo > 4000: irpf = 1.2 # pero si no lo tengo claro if (departamento == "marketing" and sueldo > 3000) or (departamento == "contailidad" and sueldo > 4000): irpf = 1.2 # tengo una tienda online y aplico descuentos si se cumplen las siguientes características: # por defecto ningún descuento # si el cliente es de Barcelona y la compra es superior a 500, 10% de descuento # si el cliente es de Tarragona y la compra es superior a 700, 10% de descuento # si no es de Barcelona ni Tarragona y la compra es superior a 1000, 5% de descuento descuento = 0 compra = 800 ciudad = "Logroño" # ciudad=="Barcelona" # compra>=500 if ciudad == "Barcelona" and compra >= 500: descuento = 10 if ciudad == "Tarragona" and compra > 700: descuento = 10 # este if es equivalente a los dos anteriores if ciudad == "Barcelona" and compra >= 500 or ciudad == "Tarragona" and compra > 700: descuento = 10 # ciudad no sea Tarragona o Barcelona if not (ciudad == "Barcelona" or ciudad == "Tarragona") and compra >= 1000: descuento = 5