Logo_UMAR
Programación I
Universidad del Mar, campus Huatulco
Licenciatura en Actuaría
Práctica 3

Prácticas 3

Práctica

Escribir un programa en Python que solicite al usuario una contraseña (cadena de caracteres) y determine si esta es una buena contraseña o no. Diremos que una buena contraseña es aquella que cumple las siguientes características:

La contraseña debe tener al menos 8 caracteres.

Contenga al menos una letra mayúscula.

Contenga al menos una letra minúscula.

Contenga al menos un número.

Imprime mediante un mensaje adecuada si la contraseña que se ingreso es una buena contraseña o no.

Práctica

Escribe un programa en Python que que solicite al usuario ingresar una sucesión finita de números separados por comas y generé e imprima una lista y una tupla cada uno de los números de la sucesión. Por ejemplo, si la sucesión de números es:

34,67,55,33,12,98

entonces se debe imprimir:

['34', '67', '55', '33', '12', '98'] y ('34', '67', '55', '33', '12', '98')

Práctica

Escribe un programa en Python que solicite al usuario ingresar una sucesión finita de palabras separadas por comas e imprima las palabras separadas por comas pero en orden alfabético. Por ejemplo, si el usuario ingresa:

Seguros, Matemáticas, Riesgo, Finanzas, Estadística

Entonces se debe imprimir:

Estadística, Finanzas, Matemáticas, Riesgo, Seguros

Práctica

Escribe un programa en Python que solicite al usuario ingresar una sucesión de palabras separadas por espacios, luego remueva todas las palabras duplicadas e imprimalas en orden alfabético.

Práctica

Escribe un programa en Python que solicite al usuario que ingrese una sucesión de números binarios de 4 dígitos separados por comas y determina si estos son o no divisibles entre 5 e imprimelos separados por comas aquellos que si lo sean.

Sugerencia: Utiliza la función int(). La función int() se utiliza para convertir una cadena válida a un número entero. Puede recibir un segundo argumento y tiene múltiples formas de uso, pero en el contexto de números binarios, una de las formas más comunes es la conversión de una cadena de dígitos binarios a un número entero. Por ejemplo

cadena_binaria = '1101' # cadena_binaria es una cadena que representa un número binario.
    numero_decimal = int(cadena_binaria, 2) #2 en el segundo argumento (el cual es opcional)
    # que indica que la cadena de entrada está en base 2 (binario).
    print(numero_decimal)

Práctica

Escribe un programa en Python que solicite al usuario que ingrese una cadena (esta puede ser incluso una línea de texto). Luego, utiliza un diccionario para almacenar el número de letras y dígitos que hay en la cadena. Imprime el resultado final mediante un mensaje adecuado.

Práctica

Escribe un programa en Python que solicite al usuario que ingrese una cadena (esta puede ser incluso una línea de texto). Luego, utiliza un diccionario para almacenar el número de letras mayúsculas y letras minúsculas que hay en la cadena. Imprime el resultado final mediante un mensaje adecuado.

Práctica

Escribe un programa en Python que lea el archivo estado_cuenta.txt el cual es el estado de cuenta de un cliente del Banco del Bienestar. Luego, basado en el saldo inicial indicado en el archivo y el registro de las transacciones: Depósitos o Retiros y los montos respectivos indicados en el archivo, imprime el saldo final del cliente.

Descargar estado_cuenta.txt

Práctica

Escribe un programa en Python que solicite al usuario una contraseña (cadena de caracteres) y determine si esta es una muy buena contraseña o no. Diremos que una muy buena contraseña es aquella que cumple las siguientes características:

La contraseña debe tener al menos 8 caracteres.

La contraseña debe a lo más 12 caracteres.

Contenga al menos una letra mayúscula.

Contenga al menos una letra minúscula.

Contenga al menos un número.

La contraseña debe tener al menos un caracter del conjunto {$,@,#}.

Imprime mediante un mensaje adecuado si la contraseña ingresada es una muy buena contraseña o no.

Práctica

En el archivo información.txt se encuentran almacenados en cada línea el nombre, edad y altura de los estudiantes de la carrera de Actuaría de la Universidad del Mar. Escribe un programa en Python que almacene en una lista, las tuplas (nombre, edad, altura) en orden ascendente donde el nombre es una cadena, la edad y la altura son números. El criterio de clasificación es siguiente:

Primero ordenar según el nombre;

Luego ordenar según la edad;

Luego ordenar por altura.

La prioridad es entonces: nombre -> edad -> altura.

Descargar información.txt

Práctica

Crea una función en Python llamada caracter que reciba una cadena y devuelva una lista de los caracteres únicos de la cadena de texto.

Práctica

Crea una función en Python llamada caracter que reciba una cadena y devuelve una lista de los caracteres únicos de la cadena de texto.

Práctica

Crea una función en Python llamada caracteres que reciba una cadena y devuelve una lista con los caracteres de la cadena de texto, cada caracter de la cadena debe aparecer solo una vez en la lista.

Práctica

Crea una función llamada mediana que tome tres números como parámetros y devuelva la mediana de esos parámetros como resultado.

Práctica

Escribe una función en Python que se llame hipotenusa y que reciba las longitudes de los dos catetos (lados más cortos) de un triángulo rectángulo como sus parámetros y devuelva el valor de la hipotenusa del triángulo, calculada mediante el teorema de Pitágoras. Fuera de la función se deben solicitar al usuario las longitudes de los catetos del triángulo rectángulo, luego llama a la funcion hipotenusa(cateto1,cateto2) para calcular la longitud de la hipotenusa y muestre el resultado.

Práctica

Un minorista en línea ofrece envío exprés para muchos de sus artículos a una tarifa de \$10.95 para el primer artículo de un pedido y \$2.95 para cada artículo subsiguiente en el mismo pedido. Escribe una función que se llame gasto_envio que reciba el número de artículos en el pedido como su único parámetro. Devuelve los gastos de envío del pedido como resultado de la función. Fuera de la función solicite al usuario que ingrese la cantidad de artículos comprados e imprime el cargo de envío.

Práctica

En un Bahias de Huatulco, el costo del servicio de taxi consiste en una tarifa base de \$5.00 pesos más \$2.5 por cada 120 metros recorridos. Escribe una función en Python que se llame tarifa_taxi que reciba como parametro la distancia recorrida (en kilómetros) como único parámetro y devuelva la tarifa total como único resultado. Fuera de la función solicita al usuario la distancia recorrida en kilómetros y luego llame a la función tarifa_taxi(distancia) para calcular el costo total e imprima el resultado.

Sugerencia: Las tarifas de los taxis cambian con el tiempo. Utiliza constantes para representar la tarifa base y la parte variable de la tarifa para que el programa se pueda actualizar fácilmente cuando aumenten las tarifas.

Práctica

Si tienes $3$ popotes, posiblemente de diferentes longitudes, puede o no ser posible colocarlos de manera que formen un triángulo cuando sus extremos se toquen. Por ejemplo, si todas los popotes tienen una longitud de $6$cm, entonces uno puede construir fácilmente un triángulo equilátero usándolas. Sin embargo, si un popote mide $6$ cm de largo, mientras que las otras dos miden sólo $2$ cm cada una, entonces no se puede formar un triángulo. De manera más general, si cualquier longitud es mayor o igual que la suma de las otras dos, entonces las longitudes no se pueden usar para formar un triángulo. De lo contrario, pueden formar un triángulo. Esta propiedad es conocida como Desigualdad del triángulo.

Escribe una función check_triangulo que determine si tres longitudes pueden o no formar un triángulo. La función recibe 3 parámetros y devolverá un resultado booleano. Si alguna de las longitudes es menor o igual a $0$, su función debería devolver False. De lo contrario, debe determinar si las longitudes se pueden usar o no para formar un triángulo usando el método descrito en el párrafo anterior e imprimir el resultado apropiado. Además, escriba un programa que solicite al usuario las 3 longitudes del usuario y llame a la funcion check_triangulo.

Práctica

Escribe una función en python llamada segundo_maximo que reciba como argumento una lista de números, elimine de dicha lista los valores repetidos y luego encuentre y devuelva el segundo número más grande.

Práctica

Escriba una funcion en Python que se llame celcius_fahrenheit que reciba como argumento un número que representa la temperatura de una habitación en grados Celsius, y devuelva la temperatura en grados Fahrenheit.

Práctica

Escriba una función en python que se llame factores_primos que reciba como parametro un número entero positivo e imprima la descomposición en factores primos del número.

Práctica

Escriba una función que se llama factores_comunes que reciba como parametro dos números enteros positivos e imprima los factores primos comunes de ambos números.

Práctica

Escribe una función en python llamada invierte_digitos que reciba como parametro un número entero positivo y devuelva el número obtenido invirtiendo el orden de los dígitos de un número dado.

Práctica

Escribe una función en Python llamada segundos que reciba como argumento un tiempo dado en horas, minutos y segundos (hh:mm:ss), calcule y devuelva la cantidad de segundos en el tiempo dado.

Práctica

Escribe una función en Python llamada minutos que reciba como argumento un tiempo dado en horas, minutos y segundos (hh:mm:ss), calcule y devuelva la cantidad de minutos en el tiempo dado.

Práctica

Escribe una función en Python llamada horas que reciba como argumento un tiempo dado en horas, minutos y segundos (hh:mm:ss), calcule y devuelva la cantidad de horas en el tiempo dado.

Práctica

Escribe una función en python que solicite al usuario dos tiempos expresados en horas, minutos y segundos; los sume y devuelva el resultado en horas, minutos y segundos.

Práctica

Escribe una función en Python que reciba una lista de números enteros y devuelva el mayor producto de dos de ellos. Por ejemplo, si recibe los números la lista [1, 5, -2, -4] debe devolver 8, que es el producto más grande que se puede obtener entre ellos.

Práctica

Escribe un programa en Python que reciba como argumento una cadena de texto e imprima el numero de letras mayusculas y letras minusculas en la cadena.

Práctica

Escribe un programa en Python que reciba como argumento un número entero positivo 𝑛 e imprima las primeras 𝑛 filas del triangulo de Pascal.

Práctica

Escribe un programa en Python que dado una lista de números enteros devuelve la suma de todos los números positivos de la lista. Si la lista está vacía o no hay números positivos, devuelve 0.

Práctica

Escribe un programa en Python que dado una lista de números enteros devuelve la media de todos los números positivos y la media de todos los números de la lista. Si la lista está vacía o no hay números distintos de cero, devuelve 0.

Práctica

Escribe un programa en Python dado un diccionario con cuyas entradas (clave-valor) son el nombre y la edad de un grupo de personas, imprima el nombre la persona de mayor edad, el nombre de la persona de menor edad asi como sus respectivas edades y la diferencia de las edades.

Práctica

Escribe una función en Python llamada revisa_duplicados que reciba como argumentos al menos un par de listas. La función debe verificar si las listas tienen duplicados en común. Si hay duplicados, la función debe devolver una lista con los elementos duplicados. Si no hay duplicados, la función debería devolver el mensaje "Sin duplicados".

Práctica

Generar aleatoriamente 10 números enteros entre −100 y 100 , almacenarlos en una lista. Escribir un programa en Python que determine cuantos de ellos son positivos, cuantos negativos y cuantos igual cero.

Práctica

Escribir un programa en python que simule una ruleta con números entre 0 y 100 (incluyendo estos), el algoritmo debe cumplir con lo siguiente: El algoritmo debe mandar un mensaje al usuario indicandole que presione cualquier tecla para comenzar a girar la ruleta.El numero obtenido al hacer girar la ruleta, es generado por el algoritmo de forma pseudoaleatoria. El algoritmo debe imprimir 50 puntos sucesivos simulando el suspenso (la espera mientras termina de girar la ruleta), entre punto y punto Esperar 150 Milisegundos. Cuando se termine de imprimir los puntos suspensivos limpiar la pantalla e imprimir un mensaje mostrando cual fue el número obtenido en la ruleta.

        
import time
print("Linea uno")
time.sleep(0.35)
print("Linea dos")

import os
import random
x = input("Presion cualquier tecla para continuar")
#os.system('cls') # Para Windows
os.system('clear') # Para Linux y MacOS
time.sleep(0.5)
for i in range (0,10):
print(' . ', end="")
time.sleep(0.35)
os.system('clear')
print("El numero obtenido es:", random.randint(0,100))
    

Práctica

Escribir un programa en Python que simule una ruleta (con las características del ejercicio anterior) con números entre 0 y 20 , girar la ruleta continuamente hasta que el número obtenido sea igual a 0 . Mostrar un mensaje adecuado antes de comenzar cada giro de la ruleta e imprimir el número obtenido en cada giro. Crea una función que simule el giro de la ruleta y devuelva el número obtenido.

Práctica

Escribe una función en Python llamada cuenta_estudiantes que verifique cuántos estudiantes hay en una escuela. La función recibe como argumento un diccionario. Las claves corresponden a las matriculas de los estudiantes mientras que el correspondiente valor es o bien la cadena 'si' si el estudiante está en la escuela o bien la cadena 'no' si el estudiante no está en la escuela. La función debe devolver el número de estudiantes que se encuentran en la escuela. Por ejemplo mandando a la función el siguiente diccionario la función debe devolver 3.

registro = {'2021260159':'si','2022260118': 'no', '2022260137':'si', '2022260119': 'si', '2022260121': 'no'}

Práctica

En una lista se almacenan las calificaciones obtenidas por un grupo de 50 alumnos en un examen. Cada calificación es un número entero comprendido entre 0 y 5 , generar estas aleatoriamente. Escribir un programa en Python que calcule, almacene e imprima la frecuencia de cada una de las calificaciones, y que además obtenga e imprima la calificación cuya frecuencia fue la más alta. Si hubiera calificaciones con la misma frecuencia, imprimir ambas.

Práctica

Escribe un programa en Python que lea un lista de seis elementos e intercambie las posiciones de sus elementos, de tal forma que el primer elemento pase a ser el último y el último el primero, el segundo el penúltimo y así sucesivamente, e imprima lista resultante.

Práctica

Escribe un programa en Python que lea usuario las coordenadas de dos puntos: $A(x_{1},y_{1})$ y $B(x_{2},y_{2})$, utiliza una función para validar que en efecto los puntos ingresados son puntos distintos. Luego, determine e imprima la distancia entre $A$ y $B$ . Escribe una función para determinar la distancia entre dos puntos.

Práctica

Escribe un programa en Python que solicite lea las coordenadas de dos puntos en el plano: $A(x_{1},y_{1})$ y $B(x_{2},y_{2})$ , determine y devuelva la pendiente de la recta que pasa por estos puntos. Utilice un función para determinar la pendiente de la recta que pasa por dos puntos.

Práctica

Escribe un programa en Python que lea las coordenadas de tres puntos en el plano: $A(x_{1},y_{1})$ , $B(x_{2},y_{2})$ y $C(x_{3},y_{3})$ . luego determine e imprima si los puntos con colineales. Implementa funciones en python.

Hint: Tres puntos son colineales si se encuentran en una misma linea recta. Considera los casos en los que los tres puntos o un par de puntos sean iguales.

Práctica

Escribe una función en Python que reciba como parametros las coordenadas de dos puntos $(x_{1},y_{1})$ y $(x_{2},y_{2})$ e imprima la ecuación de la recta en su forma punto-orenada al origen que pasa por estos puntos. Por ejemplo si la funcion recibe como argumentos $(1,0)$ y $(5,6)$ se debe imprimir la ecuación: $y = x + 1$.

Práctica

El problema de Monty Hall es un problema de probabilidad inspirado en un viejo concurso de televisión llamado Let's Make a Deal (``Hagamos un trato'').

El problema consiste en que un concursante tiene delante tres puertas, detrás de una de ellas hay un auto nuevo y en las otras dos hay una cabra en cada una, el concursante debe adivinar en cuál puerta está el vehículo. Sin embargo, una vez que el concursante elige una de las puertas y lo anuncia ante el público, Monty Hall (el presentador, quien además sabe que hay detrás de cada puerta) abre una de las puertas donde hay una cabra y le da la opción al concursante de cambiar la puerta que eligió. surgen entonces un par de preguntas interesantes: ¿Debe el concursante mantener su elección original o escoger la otra puerta? ¿Cambiar de puerta puede influir en el resultado del concurso?

Escribe un programa en python que simule 10000 veces el concurso de Monty Hall cuando el concursante decide cambiar de puerta y responde a las siguientes preguntas:

¿Cual es la probabilidad estimada de ganar el automovil si el concursante decide cambiar la puerta que escogió inicialmente?

Respuesta:______________________________________________________________________________

Teniendo en cuenta la estimación obtenida en la simulación previa. Si tu fueras el concursante ¿Cambiarias o te quedarias con la puerta elegida inicialmente?

Respuesta:______________________________________________________________________________

Práctica

Escribe un programa en Python que solicite al usuario un número entero positivo $N$ menor o igual que 105 (validar entrada) y encuentre e imprima el número entero positivo más pequeño $N$ tal que el producto de sus dígitos sea igual a $N$ .

Por ejemplo, si $N=10$ , entonces el programa debería imprimir 25 pues 25 es el número entero positivo más pequeño tal que $2\times 5=10$.

Práctica

Escribe una funcion en Python que reciba como parámetros el centro $(h,k)$ de una circunferencia, el radio $r>0$ y un punto $(x,y)$ y determine si el punto $(x,y)$ se encuentra en la circunferencía con centro en $(h,k)$ y radio $r$ . La función debe devvolver True en caso afirmativo y False en caso contrario.