15 - Listas: carga por teclado de sus elementos
Cargaremos los elementos de una lista mediante una entrada por teclado.
Hemos visto que podemos definir una lista por asignación indicando entre corchetes los valores a almacenar:
lista=[10, 15, 20]
Una lista luego de definida podemos agregarle 🛒 nuevos elementos. La primera forma que veremos para que nuestra lista crezca es utilizar el método append que tiene la lista y pasar como parámetro el nuevo elemento:
lista=[5,10,15] # se define una lista de 3 elementos
print(len(lista)) # imprime el número 3
lista.append(20) # agrega el 20 al final de la lista
print(len(lista)) # imprime el número 4
print(lista[0]) # imprime el número 5
print(lista[3]) # imprime el número 20
Agregamos una nuevo elemento al final de la lista llamando al método append:
lista.append(20)
Ejemplos
Ejemplo 1
Definir una lista vacía y luego solicitar la carga de 5 enteros por teclado y añadirlos a la lista. Imprimir la lista generada.
#list empty
list1=[]
i=0
#enter five elements
while i<5:
list1.append(int(input("Enter a number: ")))
# increase counter
i+=1
# print list
print("List is: ",list1)
El algoritmo propuesto crea primero una lista vacía (debemos asignar los corchetes de apertura y cerrado sin contenido):
list1=[]
Luego mediante un while (podemos utilizar un for si queremos 🤠 ) solicitamos en forma sucesiva la carga de un entero por teclado y procedemos a agregarlo al final de la lista llamando al método append:
while i<5:
list1.append(int(input("Enter a number: ")))
# increase counter
i+=1
Ejemplo 2
Realizar la carga de valores enteros por teclado, almacenarlos en una lista. Finalizar la carga 🛑 de enteros al ingresar el cero. Mostrar finalmente el tamaño de la lista.
# list empty
list1=[]
# Stop with zero
stop=False
while stop!=True:
#input number
number=int(input("Enter a number: "))
if(number!=0):
#add list end list1
list1.append(number)
else: #stop
stop=True
print("List: ",list1)
print("Length:",len(list1))
En este problema 🦠 se agregaran valores a la lista hasta que el operador ingrese el valor cero.
Dentro del ciclo while procedemos a agregar al final de la lista el valor ingresado y solicitar la carga del siguiente valor.
stop = False while stop!=True: #input number number=int(input("Enter a number: ")) if(number!=0): #add list end list1 list1.append(number) else: #stop stop=True
Cuando salimos del ciclo repetitivo procedemos a imprimir la lista y el tamaño de la misma.
print("List: ",list1)
print("Length:",len(list1))
Problemas propuestos 📚
Problema 1
Almacenar en una lista los sueldos (valores float) de 5 operarios. Imprimir la lista y el promedio de sueldos.
Problema 2
Cargar por teclado y almacenar en una lista las alturas de 5 personas 👨👩👧👦 (valores float) Obtener el promedio de las mismas. Contar cuántas personas son más altas que el promedio y cuántas más bajas.
Problema 3
Una empresa 🏭 tiene dos turnos (mañana y tarde) en los que trabajan 8 empleados (4 por la mañana y 4 por la tarde) Confeccionar un programa que permita almacenar los sueldos de los empleados agrupados en dos listas. Imprimir las dos listas de sueldos.
Solución 🆘
#list salary
salary=[]
# enter salary
suma=0
for sal in range(5):
salary.append(float(input("Enter a worker salary: $")))
suma+=salary[sal]
print("Worker salaries: ",salary)
print("Worker average: ",suma/5)
Última actualización
¿Te fue útil?