# 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
Categoría: Python
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
Solución ejercicios
# Crea un programa que pida al usuario dos números y determine cuál es el # mayor de los dos números. # Si son iguales, muestra cualquiera de los dos # mejorado: un mensaje que indique que los números son iguales. # pedir un numero al usuario y convertirlo numero1 = input("Dime el primer número ") numero1 = float(numero1) # pedir un segundo numero y convertirlo numero2 = input("Dime el segundo número ") numero2 = float(numero2) # con un if mirar cual es el mayor e imprimirlo if numero1 > numero2: print("El número mayor es ", numero1) elif numero2 > numero1: print("El número mayor es ", numero2) else: print("Son iguales") # o a>b y el mayor es a o b>a y el mayor es b ==> lo pasamos a if # Escribe un programa que solicite al usuario su calificación en un examen y determine si # ha aprobado o reprobado. Si la calificación es igual o superior a 60, # muestra “Aprobado”, de lo contrario, muestra “Reprobado”. calificacion = input("Dime tu calificación ") calificacion = float(calificacion) if calificacion >= 60: print("Aprobado") else: print("Reprobado")
Más ejemplos if
# Basándonos en el imc decir al usuario si está bien en su peso o no peso = input("Dame tu peso ek kg ") # pido el peso y nos devuelve una cadena altura = input("Dame tu altura en metros ") # pido la altura y nos devuelve una cadena peso = float(peso) # float es para números con decimales altura = float(altura) # La altura tendrá decimales imc = peso / (altura ** 2) print("Tu imc es ", imc) if imc < 18.5: print("Bajo peso") elif imc < 25: print("Peso normal") elif imc < 35: print("Sobrepeso") else: print("Obesidad") anyo = input("Dime tu año de nacimiento") anyo = int(anyo) edad = 2024 - anyo if edad < 18: print("Eres menor de edad") else: print("Eres mayor de edad") # Desarrolla un programa que pida al usuario un número entero y determine si es par o impar. # Si es par, muestra “Es un número par”, si es impar, muestra “Es un número impar”. numero = input("Dime un número, por favor ") numero = int(numero) if numero % 2 == 0: print("Es par") else: print("Es impar")
Ejemplos if python
edad = 12 if edad >= 18: print("Eres mayor de edad") print("Puedes entrar a la discoteca") else: # opcional y se ejecuta si no se cumple la condición print("Los menores de edad no tienen permitida la entrada") print("Esto está fuera del if") # > >= < <= == (igual) != (diferente) ciudad = "Barcelona" if ciudad == "Barcelona": print("Tienes descuento") if ciudad != "Tarragona": print("Ven a visitarnos") # if ... elif nos permite concatenar diferentes condiciones # Normalmente se utiliza sobre la misma variable y se usa para # rangos if edad < 10: print("Eres un infante") elif edad < 18: print("Eres menor de edad") elif edad < 65: print("Eres un adulto") else: print("Eres un jubilado") if edad < 18: if ciudad == "Barcelona": print("Eres un menor de edad de Barcelona") else: print("Eres un menor de edad pero no de Barcelona") else: print("Eres mayor de edad")
Variables en python
# Esto es un comentario # Lo utilizo para poner cosas para mí mismo o los demás # variables: son como cajitas donde ponemos valores # Python es un lenguaje no tipado # defino las variables sin poner ningún tipo # Python sabe de que tipo son por el valor que contienen numero = 9 # Tipo int (numero entero) decimales = 9.5 # tipo float (numero con decimales) cadena = "Hola que tal" # tipo string (cadena de texto) booleano = True # tipo booleano, un tip especial que almacena valores cierto o falso print(numero) # imprimir por la consola numero = numero + 2 print(numero) numero = 27 print(numero) print(type(numero)) print(decimales) decimales = decimales + numero print(decimales) # no estaría muy bien visto numero = "Ahora soy una cadena" print(numero) print(type(numero)) alumno = "Ana Pi" edad = 22 email = "ana@ana.com" print(alumno, edad, email) # Vamos a crear una variable sueldo con valor de 2000 # Y una variable irpf con valor de 0.15 # Y luego las imprimimos por la consola sueldo = 2000 irpf = 0.15 print(sueldo, irpf) edad = input("Dime tu edad: ") print(edad) # conversiones de tipo utilizando int, float, str, bool edad = int(edad) print(edad) print(type(edad)) edad = edad + 5 print(edad) # variables: cajitas donde poner valores # int, float, str, bool # Python no es tipado, la variable será del tipo de su contenido # convertir de un tipo a otro usando int,float,str,bool # cuidado porque hay cosas que se pueden convertir y otras que no # cualquier cosa se puede convertir en una cadena # pero no cualquier cadena se puede convertir en un número a = str(5) # correcto # b=int("hila") # error porque no se puede convertir # print para imprimir e input para pedir cosas por la consola # input nos devuelve una cadena, si pedimos un número lo tendremos que convertir a = 5 # n umero b = "5" # cadena a = a + 5 # correcto b = b + 5 # error porque uno es cadena (str) y otro número (int)
Mas diccionarios
[Python]
coche1={“marca”:”Tesla”,”tipo”:”Electrico”,”autonomía”:500,”precio”:40000}
coche2={“marca”:”Citroen”,”tipo”:”Gasolina”,”autonomía”:2500,”precio”:10000}
empleado1={“departamento”:”contabilidad”,”sueldo”:3000,”nombre”:”Ana Pi”}
empleado2={“departamento”:”marketing”,”sueldo”:2000,”nombre”:”Eva Buj”}
# sueldo del emppleado 1
print(empleado1[‘sueldo’])
# aumento el sueldo un 10% al empleado 1:
empleado1[‘sueldo’]*=1.1
print(empleado1[‘sueldo’])
concesionario=[{“marca”:”Tesla”,”tipo”:”Electrico”,”autonomía”:500,”precio”:40000},
{“marca”:”Citroen”,”tipo”:”Gasolina”,”autonomía”:2500,”precio”:10000},
{“marca”: “Ford”, “tipo”: “Gasolina”, “autonomía”: 3500, “precio”: 20000},
{“marca”: “Ferrari”, “tipo”: “Gasolina”, “autonomía”: 5500, “precio”: 120000},
{“marca”: “Seat”, “tipo”: “Electrico”, “autonomía”: 700, “precio”: 10000},
{“marca”: “Skoda”, “tipo”: “Gasolina”, “autonomía”: 3500, “precio”: 7000},
]
for coche in concesionario:
print(coche)
# Cual es el coche más caro
def coche_mas_caro(concesionario):
caro=concesionario[0]
for coche in concesionario:
if coche[‘precio’]>caro[‘precio’]:
caro=coche
return caro
# media de precios
def media_precios_coche(concesionario):
total=0
for coche in concesionario:
total+=coche[‘precio’]
return total/len(concesionario)
def coches_con_autonomia(concesionario, autonomia):
res=[]
for coche in concesionario:
if coche[‘autonomía’]>=autonomia:
res.append(coche[‘marca’]) # res+=[coche]
return res
print(“Mas caro”,coche_mas_caro(concesionario))
print(media_precios_coche(concesionario))
for coche in coches_con_autonomia(concesionario,2000):
print(coche)
empleados=[{“departamento”:”contabilidad”,”sueldo”:3000,”cantidad”:3},
{“departamento”:”marketing”,”sueldo”:2000,”cantidad”:2},
{“departamento”:”ceo”,”sueldo”:12000,”cantidad”:1},
{“departamento”:”administracion”,”sueldo”:1500,”cantidad”:5}]
# ¿Cuanto gasta la empresa en sueldos al mes?
def total_sueldos(empresa):
total=0
# ¿Qué recorro? UNA LISTA
for empleado in empresa:
total+=empleado[‘sueldo’]*empleado[‘cantidad’]
return total
print(total_sueldos(empleados))
[/Python]
Ejemplos diccionarios
[Python]
# Pares clave:valor
# nombre del alumno y la nota
alumnos=[“Ana”,”Pep”,”Eva”]
notas=[6,7,2]
alumno1={“nombre”:”Ana”,”nota”:6,”email”:”ana@ana.com”,”telefono”:”666999666″}
alumno2={“nombre”:”Pep”,”nota”:7}
alumno3={“nombre”:”Eva”,”nota”:2}
clase=({“nombre”:”Ana”,”nota”:6,”email”:”ana@ana.com”,”telefono”:”666999666″},
{“nombre”:”Pep”,”nota”:7},
{“nombre”:”Eva”,”nota”:2})
print(alumno1[‘nombre’])
# recorremos el diccionario, por defecto son las claves (nombre, nota…)
for clave in alumno1:
print(clave, alumno1[clave])
# recorremos solo los valores del diccionario (“Ana”,6,…)
for valor in alumno1.values():
print(valor)
# recorremos las dos cosas, la clave y el valor desempaquetando los items
for clave,valor in alumno1.items():
print(clave,valor)
# bucle anidado para recorrer la lista de alumnos y después sus valores
for alumno in clase: # Primero obtengo el alumno
print(alumno)
for clave, valor in alumno.items(): #para cada alumno recorro sus valores
print(clave, valor)
# Función para calcular la media de notas de una clase
def mediaNotas(clase):
total=0
for alumno in clase: # recorro la lista de alumnos
total+=alumno[‘nota’] # accedo directamente al valor del diccionario que me hace falta
# no hace falta un bucle anidado
return total/len(clase)
print(mediaNotas(clase))
[/Python]
Ejemplos bucles anidados y otros
# bucle anidado: bucle dentro de otro bucle def palabrascon2A(cadena): res=[] for palabra in cadena.split(): cont=0 for i in palabra: if i == "a": cont+=1 if (cont==2): res.append(palabra) return res print(palabrascon2A("hola que tal hacia mañana")) def contarLetra(palabra,letra): cont=0 for l in palabra: if l==letra: cont+=1 return cont def palabrasConLetrasContadas(cadena,letra,cantidad): res=[] for palabra in cadena.split(): if contarLetra(palabra,letra)==cantidad: res+=[palabra] return res print(palabrasConLetrasContadas("ojo con los monstruos horrososo","o",2))