Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Archivo de word pasado a python, Ejercicios de Tecnologías de la Información y la Comunicación

Ejercicios de python de tuplas

Tipo: Ejercicios

2021/2022

Subido el 29/06/2023

mariela-cuba
mariela-cuba 🇦🇷

3 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Ejercicios de listas y tuplas:
Solicitar al usuario que ingrese números, los cuales se guardarán en una lista. Finalizar al
ingresar el número 0, el cual no debe guardarse.
B) A continuación, solicitar al usuario que ingrese un número y, si el número está en la lista,
eliminar su primera ocurrencia. Mostrar un mensaje si no es posible eliminar.
C) Recorrer la lista para imprimir la sumatoria de todos los elementos.
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 ella.
E) Generar e imprimir una nueva lista que contenga como elementos a tuplas de dos
elementos, cada una compuesta por un número de la lista original y la cantidad de veces que
aparece en ella. Por ejemplo, si la lista original es [5, 16,2,5,57,5,2] la nueva lista contendrá:
[(5,3), (16,1), (2,2), (57,1)]
Solución:
def sumatoria(lista):
suma=0
for n in lista:
suma+=n
return suma
def numerosMenores(lista, limite):
nueva=[]
for n in lista:
if n<limite:
nueva.append(n)
return nueva
def frecuencias(lista):
nueva=[]
for n in lista:
if [n, lista.count(n)] not in nueva:
nueva.append([n, lista.count(n)])
return nueva
#A
numeros=[]
nro=int(input("Número: "))
while nro!=0:
numeros.append(nro)
nro=int(input("Número: "))
#B
print("Sumatoria de los números:", sumatoria(numeros))
eliminar=int(input("Número a eliminar: "))
#C
if eliminar in numeros:
numeros.remove(eliminar)
else:
print("Ese número no está entre los ingresados")
#D
limite=int(input("Filtrar números menores a: "))
for n in numerosMenores(numeros, limite):
print(n)
#E
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Archivo de word pasado a python y más Ejercicios en PDF de Tecnologías de la Información y la Comunicación solo en Docsity!

Ejercicios de listas y tuplas:

Solicitar al usuario que ingrese números, los cuales se guardarán en una lista. Finalizar al

ingresar el número 0, el cual no debe guardarse.

B) A continuación, solicitar al usuario que ingrese un número y, si el número está en la lista,

eliminar su primera ocurrencia. Mostrar un mensaje si no es posible eliminar.

C) Recorrer la lista para imprimir la sumatoria de todos los elementos.

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 ella.

E) Generar e imprimir una nueva lista que contenga como elementos a tuplas de dos

elementos, cada una compuesta por un número de la lista original y la cantidad de veces que

aparece en ella. Por ejemplo, si la lista original es [5, 16,2,5,57,5,2] la nueva lista contendrá:

[(5,3), (16,1), (2,2), (57,1)]

Solución:

def sumatoria(lista): suma= for n in lista: suma+=n return suma def numerosMenores(lista, limite): nueva=[] for n in lista: if n<limite: nueva.append(n) return nueva def frecuencias(lista): nueva=[] for n in lista: if [n, lista.count(n)] not in nueva: nueva.append([n, lista.count(n)]) return nueva #A numeros=[] nro=int(input("Número: ")) while nro!=0: numeros.append(nro) nro=int(input("Número: ")) #B print("Sumatoria de los números:", sumatoria(numeros)) eliminar=int(input("Número a eliminar: ")) #C if eliminar in numeros: numeros.remove(eliminar) else: print("Ese número no está entre los ingresados") #D limite=int(input("Filtrar números menores a: ")) for n in numerosMenores(numeros, limite): print(n) #E

print("Frecuencias:") for tupla in frecuencias(numeros): print(tupla[0],"aparece",tupla[1],"veces.")

2- Escribir un programa que permita procesar datos de pasajeros de viaje en una lista de tuplas

con la siguiente forma: ( nombre, dni, destino ). Ejemplo: [("Manuel Juarez", 19823451,

"Liverpool"), ("Silvana Paredes", 22709128, "Buenos Aires"), ("Rosa Ortiz", 15123978,

"Glasgow"), ("Luciana Hernandez", 38981374, "Lisboa")] Además, en otra lista de tuplas se

almacenan los datos de cada ciudad y el país al que pertenecen. Ejemplo: [("Buenos

Aires","Argentina"), ("Glasgow","Escocia"), ("Lisboa", "Portugal"), ("Liverpool","Inglaterra"),

("Madrid","España")] Hacer un menú iterativo que permita al usuario realizar las siguientes

operaciones:

-Agregar pasajeros a la lista de viajeros.

-Agregar ciudades a la lista de ciudades.

-Dado el DNI de un pasajero, ver a qué ciudad viaja.

-Dada una ciudad, mostrar la cantidad de pasajeros que viajan a esa ciudad.

-Dado el DNI de un pasajero, ver a qué país viaja.

-Dado un país, mostrar cuántos pasajeros viajan a ese país.

-Salir del programa.

def agregarPasajeros(pasajeros): nombre=input("Nombre -x para cortar: ") while nombre!="x": dni=int(input("DNI: ")) destino=input("Ciudad destino: ") pasajeros.append((nombre,dni,destino)) nombre=input("Nombre -x para cortar: ") return pasajeros def agregarCiudades(ciudades): ciudad=input("Ciudad -x para cortar: ") while ciudad!="x": pais=input("País: ") ciudades.append((ciudad,pais)) ciudad=input("Ciudad -x para cortar: ") return ciudades def buscarCiudad(pasajeros, dni): for viaje in pasajeros: if viaje[1]==dni: return viaje[2] return "" def cantidadPasajerosCiudad(pasajeros, ciudad): cantidad= for viaje in pasajeros: if viaje[2]==ciudad: cantidad+= return cantidad def buscarPaisDestino(pasajeros, ciudades, dni):

-Informar qué nombres de nivel primario no se repiten en los de nivel secundario.

def cargarNombres(alumnos): nombre=input("Nombre: ") while nombre!="x": alumnos.add(nombre) nombre=input("Nombre: ") return alumnos primaria=set() secundaria=set() print("ALUMNOS DE PRIMARIA") primaria=cargarNombres(primaria) print("ALUMNOS DE SECUNDARIA") secundaria=cargarNombres(secundaria) print("NOMBRES DE TODOS LOS ALUMNOS:") for nombre in primaria|secundaria: print(nombre) print("NOMBRES COMUNES:") for nombre in primaria&secundaria: print(nombre) print("NOMBRES DE PRIMARIA QUE NO SE REPITEN EN SECUNDARIA:") for nombre in primaria-secundaria: print(nombre)

4-Suponer una lista con datos de las compras hechas por clientes de una empresa a lo largo de

un mes, la cual contiene tuplas con información de cada venta: (cliente, día del mes, monto,

domicilio del cliente). Ejemplo:

[("Nuria Costa", 5, 12780.78, "Calle Las Flores 355"), ("Jorge Russo", 7, 699, "Mirasol 218"),

("Nuria Costa", 7, 532.90, "Calle Las Flores 355"), ("Julián Rodriguez", 12, 5715.99, "La Mancha

761"), ("Jorge Russo", 15, 958, "Mirasol 218")]

Escribir una función que reciba como parámetro una lista con el formato mencionado

anteriormente y retorne los domicilios de cada cliente al cual se le debe enviar una factura de

compra. Notar que cada cliente puede haber hecho más de una compra en el mes, por lo que

la función debe retornar una estructura que contenga cada domicilio una sola vez.

def direcciones(ventas): domicilios=set() for venta in ventas: domicilios.add(venta[3]) return domicilios

5-Escribir un programa que procese strings ingresados por el usuario. La lectura finaliza

cuando se hayan procesado 50 strings. Al finalizar, informar la cantidad total de

ocurrencias de cada carácter, en todos los strings ingresados. Ejemplo: "r":5, "%":3,

"a":8, "9":1.

¿Cómo se podrían informar las ocurrencias de las letras del alfabeto únicamente,

incluyendo el valor 0 para las letras que no aparecieron?

Solución:

contadores={} for i in range(50): cadena=input("Cadena de caracteres: ") for caracter in cadena: if caracter not in contadores: contadores[caracter]= else: contadores[caracter]+= print("Frecuencia de cada carácter") for caracter, cantidad in contadores.items(): print(caracter, ": ", cantidad) #Para contabilizar sólo letras (mayúsculas y minúsculas por separado): contadores={} alfabeto="abcdefghijklmnñopqrstuvwxyz" for letra in alfabeto+alfabeto.upper(): contadores[letra]= for i in range(50): cadena=input("Cadena de caracteres: ") for caracter in cadena: if caracter.lower() in alfabeto: contadores[caracter]+= print("Frecuencia de cada letra") for caracter, cantidad in contadores.items(): print(caracter, ": ", cantidad)

6-Crear un programa para gestionar datos de los socios de un club, permitiendo:

-Cargar información de los socios en un diccionario para acceder por número de socio.

Los datos a almacenar son: número, nombre y apellido, fecha de ingreso (ddmmaaaa),

cuota al día (s/n). El programa debe iniciar con los datos de los socios fundadores ya

cargados:

Socio nº1, Amanda Núñez, ingresó: 17/03/2009, cuota al día.

Socio nº2, Bárbara Molina, ingresó: 17/03/2009, cuota al día.

Socio nº3, Lautaro Campos, ingresó: 17/03/2009, cuota al día.

-Informar cantidad de socios del club.

-Solicitar al usuario el número de un socio y registrar que ha pagado todas las cuotas

adeudadas.

-Modificar la fecha de ingreso de todos los socios ingresados el 13/03/2018, para indicar

que en realidad ingresaron el 14/03/2018.

-Solicitar el nombre y apellido de un socio y darlo de baja (eliminarlo del listado).

-Imprimir el listado de socios completo.

Solución:

def cargarSocios(socios): numero=int(input("Número de socio (0 para cortar): ")) while numero!=0: nombre=input("Nombre y apellido: ") fecha=input("Fecha de ingreso (DDMMAAAA): ") cuota=input("¿Cuota al día? s/n: ")