0 calificaciones0% encontró este documento útil (0 votos)
3 vistas
ejerciios python
El documento detalla un programa que permite a los usuarios iniciar sesión y realizar varias operaciones con listas de números enteros, incluyendo la eliminación de elementos, cálculo de promedios y conteo de ocurrencias. Además, incluye un segmento para generar y manipular listas utilizando la biblioteca NumPy. Finalmente, se presentan funciones para generar listas aleatorias y multiplicar vectores.
Descarga como PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
3 vistas
ejerciios python
El documento detalla un programa que permite a los usuarios iniciar sesión y realizar varias operaciones con listas de números enteros, incluyendo la eliminación de elementos, cálculo de promedios y conteo de ocurrencias. Además, incluye un segmento para generar y manipular listas utilizando la biblioteca NumPy. Finalmente, se presentan funciones para generar listas aleatorias y multiplicar vectores.
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1
login 1 pregunta # Solicitar números al usuario
entrada = input("Ingrese números enteros separados por
def Login(usuario, contraseña, intentos): espacios: ") """ # Convertir la entrada en una lista de enteros Verifica las credenciales del usuario. numeros = list(map(int, entrada.split())) Devuelve (True, intentos) si son correctas, (False, intentos + 1) # Mostrar la lista original si no lo son. print("\nLista original:", numeros) """ # Encontrar y mostrar el número más grande y más pequeño if usuario == "usuario1" and contraseña == "asdasd": if numeros: return True, intentos print("Número más grande:", max(numeros)) else: print("Número más pequeño:", min(numeros)) return False, intentos + 1 # Calcular y mostrar el promedio promedio = sum(numeros) / len(numeros) # Programa principal print("Promedio:", promedio) intentos = 0 else: max_intentos = 3 print("La lista está vacía") login_exitoso = False # Ordenar y mostrar la lista en orden ascendente y while intentos < max_intentos and not login_exitoso: descendente usuario = input("Ingrese su nombre de usuario: ") numeros_ascendente = sorted(numeros) contraseña = input("Ingrese su contraseña: ") print("\nLista ordenada ascendente:", numeros_ascendente) numeros_descendente = sorted(numeros, reverse=True) login_exitoso, intentos = Login(usuario, contraseña, intentos) print("Lista ordenada descendente:", numeros_descendente) # Eliminar duplicados y mostrar la lista sin repeticiones if login_exitoso: numeros_unicos = list(set(numeros)) print("¡Inicio de sesión exitoso!") print("\nLista sin duplicados:", numeros_unicos) else: print(f"Credenciales incorrectas. Intentos restantes: vector calificaciones {max_intentos - intentos}") calificaciones = [8.1, 8, 7.5, 9, 6, 6.9, 5.4, 5.5, 5.9, 10] suma = 0.0 if not login_exitoso: promedio = 0.0 print("Has agotado tus 3 intentos. Acceso bloqueado.") for i in range (len (calificaciones)): suma= suma + calificaciones [i] promedio = suma / len (calificaciones) # Programa para dibujar un triángulo con asteriscos print ("-------lista de calificaciones --------") n = 5 # Número de filas for i in range (len (calificaciones)): print (calificaciones[i]) for i in range(1, n+1): print('') print('* ' * i) for i in range (len (calificaciones)): if calificaciones[i] < 6: print("El alumno del indice " +str(i)+" reprobo") A) Solicitar al usuario que ingrese n˙meros, los cuales se guardar·n en una else: lista. Finalizar al ingresar el n˙mero 0, el cual no debe guardarse. print("El alumno del indice " +str(i)+" aprobo") B) A continuaciÛn, solicitar al usuario que ingrese un n˙mero y, si el n˙mero print("El promedio del salon es : ") est· en la lista, print(promedio) eliminar su primera ocurrencia. Mostrar un mensaje si no es posible eliminar. numpy C) Recorrer la lista para imprimir la sumatoria de todos los elementos. import numpy as np D) Solicitar al usuario otro n˙mero y crear una lista con los elementos de la lista original que sean menores que el n˙mero dado. Imprimir esta nueva lista, iterando por # Crea un array de números del 1 al 100 ella. (np.arange(1,101) genera [1, 2, ..., 100]) E) Generar e imprimir una nueva lista que contenga como elementos a x = np.arange(1, 101) tuplas de dos elementos, cada una compuesta por un n˙mero de la lista original y la print("Array original:") cantidad de veces que aparece en ella. Por ejemplo, si la lista original es [5,16,2,5,57,5,2] la nueva print(x) # Imprime todos los números del 1 al 100 lista contendr·: [(5,3), (16,1), (2,2), (57,1)] # Filtra los múltiplos de 5 usando indexación booleana mult5 = x[x % 5 == 0] # x % 5 == 0 devuelve un array de # --- Parte A: Crear la lista inicial --- booleanos (True donde el número es divisible por 5) numeros = [] while True: print("\nMúltiplos de 5:") num = int(input("Ingrese un número (0 para terminar): ")) print(mult5) # Imprime [5, 10, 15, ..., 100] if num == 0: break 3 numeros.append(num) import random print(f"\nLista original: {numeros}") def generar_lista(): # --- Parte B: Eliminar primera ocurrencia --- return [random.randint(1, 100) for _ in range(10)] if numeros: # Verificar que la lista no esté vacía num_eliminar = int(input("\nIngrese un número a eliminar: ")) def calcular_suma_y_promedio(lista): if num_eliminar in numeros: suma = sum(lista) numeros.remove(num_eliminar) promedio = suma / len(lista) print(f"Se eliminó la primera ocurrencia de {num_elimi- return suma, promedio nar}") print(f"Lista actualizada: {numeros}") def multiplicar_vectores(lista1, lista2): else: return [lista1[i] * lista2[i] for i in range(len(lista1))] print(f"No se encontró el número {num_eliminar} en la lista") def main(): vector1 = generar_lista() # --- Parte C: Sumatoria de elementos --- vector2 = generar_lista() sumatoria = sum(numeros) print(f"\nSumatoria de todos los elementos: {sumatoria}") suma1, promedio1 = calcular_suma_y_promedio(vector1) suma2, promedio2 = calcular_suma_y_promedio(vector2) # --- Parte D: Lista con elementos menores --- num_umbral = int(input("\nIngrese un número para filtrar la vector_multiplicado = multiplicar_vectores(vector1, lista: ")) vector2) menores = [num for num in numeros if num < num_umbral] print("Elementos menores que", num_umbral, ":") print("Vector 1:", vector1) for elemento in menores: print("Suma del Vector 1:", suma1, "| Promedio del Vector print(elemento, end=" ") 1:", promedio1) print() # Salto de línea print("Vector 2:", vector2) print("Suma del Vector 2:", suma2, "| Promedio del Vector # --- Parte E: Tuplas con conteo de ocurrencias --- 2:", promedio2) conteo = [(num, numeros.count(num)) for num in set(numeros)] print("Vector Multiplicado:", vector_multiplicado) print("\nConteo de ocurrencias:") for tupla in conteo: if __name__ == "__main__": print(f"{tupla[0]}: {tupla[1]} veces") main()