Programando

Ejercicios desarrollados con Python

A continuación veras una serie de ejercicios con su respectivo código que he desarrollado con Python.

La práctica hace al maestro

Python

frase = «Quiero mi password segura.»

diccionario = {‘a’:4,’e’:1,’i’:6,’o’:7,’.’:’?’}

 

for letra in frase:

    for dic in diccionario:

        if letra == dic:

            dicio = str(diccionario[dic])

            frase = frase.replace(letra,dicio)

 

print(frase)

edad = int(input(«Ingrese su edad: «))

peso = float(input(«Ingrese su peso: «))

altura = float(input(«Ingrese su altura: «))

 

imc = peso/(altura**2)

print(«Su IMC es de: «,imc)

 

if edad <45:

    if imc < 22:

        print(«Su condición de riesgo es bajo»)

    else:

        print(«Su condición de riesgo es medio»)

else:

    if imc < 22:

        print(«Su condición de riesgo es medio»)

    else:

        print(«Su condición de riesgo es alto»)

numeros = float(input(«Ingrese los numeros, para finalizar ingrese 0: «))

lista = []

while numeros != 0:

    lista.append(numeros)

    numeros = int(input(«Ingrese los numeros, para finalizar ingrese 0: «))

 

divisor = len(lista) – 1

promedio = sum(lista)/len(lista)

sumatoria = 0

 

for i in lista:

    sumatoria = (i-promedio)**2 + sumatoria

 

desv = (sumatoria/divisor)**(1/2)

 

print(«La desviación estandar es igual a: «,desv)

def contar(palabra):

    dic = {}

    for letra in palabra:

        if letra in dic:

            dic[letra] = dic[letra] + 1

        else:

            dic[letra] = 1

 

    return dic

 

palabra = input(«Ingrese su palabra: «)

print(«La cantidad de letras de su palabra son: «,contar(palabra))

lista = [6, 6, 1]

def mas_de_un_igual(lista):

    cont = 0

    for uno in lista:

        for dos in lista:

            if uno == dos:

                cont = cont + 1

    

    if cont > len(lista):

        return True

    else:

        return False

 

print (mas_de_un_igual(lista))

 

def todos_iguales(lista):

    band = True

    for uno in lista:

        for dos in lista:

            if uno != dos:

                band = False

    return band

 

print (todos_iguales(lista))

from random import randrange

num = randrange(101)
#print (num)

numero = int(input(‘Ingrese un número del 1 al 100: ‘))
if num == numero:
    print(‘Exacto, eres un adivino’)

while num != numero:
    if num > numero:
        print(‘Prueba con un número mayor’)
    else:
        print(‘Prueba con un número menor’)
    numero = int(input(‘Ingrese el nuevo número: ‘))

print(‘Exacto, eres un adivino’)
dias = int(input(‘Cuantos días desea evaluar: ‘))
lista = []

for i in range(dias):
    dia = int(input(‘Día {}: ‘.format(i+1)))
    lista.append(dia)

mayor = 0
for n in range(dias-1):
    alza = lista[n+1]-lista[n]
    if alza >= mayor:
        mayor = alza

print(‘La mayor alza fue de {}’.format(mayor))
#La lista productos tiene el código, el nombre, el precio y la cantidad de unidades del producto en bodega
productos = [
    (41419, ‘Fideos’,        450, 210),
    (70717, ‘Cuaderno’,      900, 119),
    (78714, ‘Jabon’,         730, 708),
    (30877, ‘Desodorante’,  2190,  79),
    (47470, ‘Yogur’,          99, 832),
    (50809, ‘Palta’,         500,  55),
    (75466, ‘Galletas’,      235,   0),
    (33692, ‘Bebida’,        700,  20),
    (89148, ‘Arroz’,         900, 121),
    (66194, ‘Lapiz’,         120, 900),
    (15982, ‘Vuvuzela’,    12990,  40),
    (41235, ‘Chocolate’,    3099,  48),
]

#La lista clientes tiene el rut y el nombre de los clientes del supermercado
clientes = [
    (‘11652624-7’, ‘Perico Los Palotes’),
    ( ‘8830268-0’, ‘Leonardo Farkas’),
    ( ‘7547896-8’, ‘Fulanita de Tal’),
]

#La lista ventas contiene las ventas realizadas, representadas por el número de boleta, la fecha de la venta y el rut del cliente
ventas = [
    (1, (2010,  9, 12),  ‘8830268-0’),
    (2, (2010,  9, 19), ‘11652624-7’),
    (3, (2010,  9, 30),  ‘7547896-8’),
    (4, (2010, 10,  1),  ‘8830268-0’),
    (5, (2010, 10, 13),  ‘7547896-8’),
    (6, (2010, 11, 11), ‘11652624-7’),
]

#El detalle de cada venta se encuentra en la lista itemes. Cada ítem tiene asociado un número de boleta, un código de producto y una cantidad
itemes = [
    (1, 89148,  3),
    (2, 50809,  4),
    (2, 33692,  2),
    (2, 47470,  6),
    (3, 30877,  1),
    (4, 89148,  1),
    (4, 75466,  2),
    (5, 89148,  2),
    (5, 47470, 10),
    (6, 41419,  2),
]

def producto_mas_caro(productos):
    caro = 0
    p_caro = »
    for n in productos:
     codigo, producto, precio, cantidad = n
     if precio > caro:
        caro = precio
        p_caro = producto
    return caro, p_caro

def valor_total_bodega(productos):
    total = 0
    for n in productos:
     codigo, producto, precio, cantidad = n
     total = total + (precio*cantidad)
    return total

def ingreso_total_por_ventas(itemes, productos):
    total = 0
    for n in itemes:
        boleta, codigo_i, cantidad_i = n
        for i in productos:
            codigo_p, producto, precio, cantidad_p = i
            if codigo_i == codigo_p:
                total = total + (cantidad_i * precio)
    return total

def producto_con_mas_ingresos(itemes, productos):
    mas_i = 0
    mas_p = »
    for n in itemes:
        boleta, codigo_i, cantidad_i = n
        for i in productos:
            codigo_p, producto, precio, cantidad_p = i
            if codigo_i == codigo_p:
                if (cantidad_i * precio) > mas_i:
                    mas_i = cantidad_i * precio
                    mas_p = producto
    return mas_p

def cliente_que_mas_pago(itemes, productos, clientes):
    boleta_mas = 0
    mas_recog = 0
    for n in itemes:
        boleta, codigo_i, cantidad_i = n
        for i in productos:
            codigo_p, producto, precio, cantidad_p = i
            boleta_mas = boleta
            mas_recog = cantidad_i*precio
        for x in itemes:
            boleta_x, codigo_i_x, cantidad_i_x = x
            if boleta == boleta_x:
                for i in productos:
                    codigo_p, producto, precio, cantidad_p = i
                    mas_recog = mas_recog + cantidad_i*precio
    print (boleta_mas,mas_recog)


print (producto_mas_caro(productos))
print (valor_total_bodega(productos))
print (ingreso_total_por_ventas(itemes, productos))
print(producto_con_mas_ingresos(itemes, productos))
print (cliente_que_mas_pago(itemes, productos, clientes))
usuarios = {
    522514: (‘Jean Dupont’,        ‘Marseille’,  (1989, 11, 21)),
    587125: (‘Perico Los Palotes’, ‘Valparaiso’, (1990,  4, 12)),
    189471: (‘Jan Kowalski’,       ‘Krakow’,     (1994,  4, 22)),
    914210: (‘Antonio Nobel’,      ‘Valparaiso’, (1983,  7,  1)),
    198471: (‘Anto Nob’,      ‘Valparaiso’, (1985,  7,  1)),
    781118: (‘Antoni Nobe’,      ‘Valparaiso’, (1983,  7,  1))}

def misma_ciudad(u1, u2):
    for user in usuarios:
        if user == u1:
            nombre1,ciudad1,fecha1 = usuarios[user]
        elif user == u2:
            nombre2,ciudad2,fecha2 = usuarios[user]

    if ciudad1 == ciudad2:
        return True
    else:
        return False

print(misma_ciudad(914210, 587125))
print(misma_ciudad(522514, 189471))


def diferencia_edad(u1, u2):
    for user in usuarios:
        if user == u1:
            nombre1,ciudad1,fecha1 = usuarios[user]
        elif user == u2:
            nombre2,ciudad2,fecha2 = usuarios[user]

    return abs(fecha1[0]-fecha2[0])

print(diferencia_edad(914210, 587125))

secuencia = ‘gtgggggggtttatgcc

tttagaacagcagacta

ctgataactccaatcc

tgggttgaaaatgccaa’

 

def esta_en_adn (buscar, secuencia):

    if buscar in secuencia:

        return True

    else:

        return False

 

print(esta_en_adn(‘hola’,secuencia))

uno = input(‘Ingresa un numero:’)

lista = []

while uno != ‘fin’:

    lista.append(uno)

    uno = input(‘Ingresa otro numero:’)

 

#print (lista)

 

def promedio (lista):

    suma = 0

    largo = int(len(lista))

    for n in lista:

        suma = suma + int(n)

    prom = suma / largo

    return prom

 

print(promedio(lista)) 

ano = int(input(«Ingrese un año: «))

 

if ano%4 == 0:

    if ano%100 == 0 and ano%400 != 0:

        print(«No es año bisiesto»)

    else:

        print(«Es año bisiesto»)

else:

    print(«No es año bisiesto»)

def transforma(total):

    horas = total//60

    minutos = total%60

    return (horas,minutos)

 

tiempo = int(input(«Ingrese el tiempo en minutos que se demoro:»))

total = 0

while tiempo!=0:

    total = tiempo + total

    tiempo = int(input(«Ingrese el tiempo en minutos que se demoro:»))

 

print(«El tiempo total es de: «, total)

 

horas,minutos = transforma(total)

print(«Lo que equivale a: «, horas,»horas y «,minutos,»minutos»)

contador1 = 0

contador2 = 0

 

def felcitaciones (contador1,contador2):

    if contador1>contador2:

        print(«Felicidades Jugador 1 eres el mejor»)

    else:

        print(«Felicidades jugador 2 eres el mejor»)

 

while contador1< 3 and contador2<3:

    jug1 = input(«Jugador 1 Ingrese su jugada: «)

    jug2 = input(«Jugador 2 Ingrese su jugada: «)

 

    #piedra le gana a tijera

    if jug1==»piedra» and jug2==»tijera»:

        contador1 = contador1 + 1

    elif jug2==»piedra» and jug1==»tijera»:

        contador2 = contador2 + 1

    #papel le gana a piedra

    elif jug1==»papel» and jug2==»piedra»:

        contador1 = contador1 + 1

    elif jug2==»papel» and jug1==»piedra»:

        contador2 = contador2 + 1

    #tijera le gana a papel

    elif jug1==»tijera» and jug2==»papel»:

        contador1 = contador1 + 1

    elif jug2==»tijera» and jug1==»papel»:

        contador2 = contador2 + 1

    

    print(«Jugador 1: «,contador1,»Jugador 2: «,contador2)

    

print(«Fin de la partida»)

felcitaciones(contador1,contador2)

temp = {
  ‘Vina del Mar’:  ( 9, 26),
  ‘Valparaiso’:    (10, 24),
  ‘Quilpue’ :      ( 7, 30),
  ‘Olmue’:         ( 5, 29),
  ‘Limache’:       ( 9, 23),
  ‘Villa Alemana’: ( 9, 22),
}

fecha = (2022,11,30)
dicc = {}


def mayusculas (temp):
    for ciudad, temperatura in temp.items():
        if temperatura[1] > 25:
            #ciudad = ciudad.upper()
            dicc[ciudad.upper()] = temperatura
        else:
            dicc[ciudad]=temperatura
    return dicc

dicc = mayusculas(temp)
#print (dicc)

def crear_reporte (fecha, dicc):
    archivo = open(‘reporte-{}-{}-{}.text’.format(fecha[0],fecha[1],fecha[2]),’w’)
    for ciu, tem in dicc.items():
        archivo.write(‘{}: max:{} min:{}\n’.format(ciu,tem[1],tem[0]))
    archivo.close()

crear_reporte(fecha,dicc)
pal = input(‘Ingrese una palabra:’)

dic = {}

for letra in pal:
    if letra in dic:
        dic[letra] = dic[letra] + 1
    else:
        dic[letra] = 1

print(dic)
usuarios = [(1221, (5, 2)), (441, (8, 2)), (587, (10, 1))]

repartidores = [
(‘rayo macuin’, (10, 2), True, [(1221, 5), (441, 8), (587, 2)]),
(‘reparti dhor’, (9, 3), True, [(1221, 2), (441, 5), (587, 3)]),
(‘eliseo al-azar’, (5, 5), False, [(1221, 8), (441, 2)])]

num = 441

def distancia(a,b):
    x1,y1 = a
    x2,y2 = b
    var = ((x1-x2)**2)+((y1-y2)**2)
    dist = var**(1/2)
    return dist

def orden (diccionario):
    lista = []
    lista2 = []
    for llave in diccionario:
        lista.append(diccionario[llave])
    lista.sort()
    lista.reverse()
    for i in lista:
        for llave in diccionario:
            if i == diccionario[llave]:
                lista2.append(llave)
    return lista2

def buscar_repartidor (usuarios,repartidores,num):
    max = 0
    lista=[]
    dicc = {}
    for us in usuarios:
        usuario, coordenada = us
        if usuario == num:
            for rep in repartidores:
                repartidor, ubic, estado, viajes = rep
                if estado == True:
                    if distancia(coordenada,ubic) < 4:
                        for i in viajes:
                            cliente, veces = i
                            if cliente == num:
                                lista.append(repartidor)
                                dicc[repartidor]= veces
                else:
                    pass
        else:
            pass
    return (orden (dicc))

print(buscar_repartidor(usuarios,repartidores,num))