16 - Listas: mayor y menor elemento
Es una actividad muy común la búsqueda del mayor y menor elemento de una lista.
Es una actividad muy común la búsqueda 🔍 del mayor y menor elemento de una lista. Es necesario que la lista tenga valores del mismo tipo por ejemplo enteros. Pueden ser de tipo cadenas de caracteres y se busque cual es mayor o menor alfabéticamente, pero no podemos buscar el mayor o menor si la lista tiene enteros y cadenas de caracteres al mismo tiempo.
Ejemplos
Ejemplo 1
Crear y cargar una lista con 5 enteros. Implementar un algoritmo 📝 que identifique el mayor valor de la lista.
# list of numbers
#empty list
listNumbers=[]
# enter list
for numb in range(5):
listNumbers.append(int(input("Enter a number: ")))
print("list: ",listNumbers)
# great Number
# number auxiliar (it's take as greater)
greatNumb=listNumbers[0]
for f in range(1,len(listNumbers)):
# if it is greater
if(listNumbers[f]>greatNumb):
greatNumb=listNumbers[f]
print("The greater number: ",greatNumb)
Primero procedemos a cargar por teclado los 5 valores en la lista:
for numb in range(5):
listNumbers.append(int(input("Enter a number: ")))
print("list: ",listNumbers)
Para identificar el mayor de una lista primero tomamos como referencia el primer elemento 🧮 , considerando a este en principio como el mayor de la lista:
greatNumb= listNumbers[0]
Seguidamente disponemos un for que se repita 4 veces esto debido a que no debemos controlar el primer elemento de la lista (recordar que la primer vuelta del for x toma el valor 1, luego el 2 y así sucesivamente hasta el 4):
for f in range(1,len(listNumbers)):
Dentro del for mediante una estructura condicional verificamos si el elemento de la posición f
de la lista es mayor al que hemos considerado hasta este momento como mayor:
if(listNumbers[f]>greatNumb):
greatNumb=listNumbers[f]
Como vemos en las dos líneas anteriores 🔙 si el if se verifica verdadero ✅ actualizamos la variable mayor con el elemento de la lista que estamos analizando.Cuando finaliza el for procedemos a mostrar el contenido de la variable "greatNumb" que tiene almacenado el mayor elemento de la lista.
print("The greater number: ",greatNumb)
Ejemplo 2
Crear y cargar una lista con 5 enteros 🔢 por teclado. Implementar un algoritmo que identifique el menor valor de la lista y la posición donde se encuentra.
# list of numbers
#empty list
listNumbers=[]
# enter list
for numb in range(5):
listNumbers.append(int(input("Enter a number: ")))
print("list: ",listNumbers)
# min Number
# number auxiliar (it's take as greater)
minNumb=listNumbers[0]
position=0
for f in range(1,len(listNumbers)):
# if it is greater
if(listNumbers[f]<minNumb):
minNumb=listNumbers[f]
position=f
print("The minor number: ",minNumb, "in the position: ",position)
Iniciamos una lista vacía y cargamos 5 elementos enteros:
listNumbers=[] for numb in range(5): listNumbers.append(int(input("Enter a number: "))) print("list: ",listNumbers)
Para identificar 🔍 el menor y la posición de dicho valor en la lista definimos dos variables. La primera le cargamos el primer elemento de la lista, que es el que consideramos como menor hasta este momento, por otro en la segunda variable almacena un cero que es la posición donde se encuentra el menor hasta este momento:
minNumb=listNumbers[0]
position=0
Seguidamente ⏭️ disponemos un for que se repita el tamaño de la lista menos 1 (len -1) veces (que son la cantidad de elementos que nos faltan analizar de la lista):
for f in range(1,len(listNumbers)):
Dentro del for mediante un if verificamos si el elemento que estamos analizando de la lista es menor a la variable "minNumb":
if(listNumbers[f]<minNumb):
En caso que sea un número menor al que hemos considerado como "menor" hasta este momento procedemos a actualizar la variable "minNumb" con el nuevo valor y también actualizamos la variable "position" con el valor del contador del for que nos indica que posición de la lista estamos analizando.
minNumb=listNumbers[f]
position=f
Por ultimo solo faltaría mostrar la lista y el menor número.
print("The minor number: ",minNumb, "in the position: ",position)
Problemas propuestos 📚
Problema 1
Ingresar por teclado los nombres de 5 personas y almacenarlos en una lista. Mostrar el nombre de persona menor en orden alfabético.
Problema 2
Cargar una lista con 5 elementos enteros. Imprimir el mayor y un mensaje si se repite dentro de la lista (es decir si dicho valor se encuentra en 2 o más posiciones en la lista).
Solución 🆘
# list names
listNames=[]
# enter list
i=0
while i<5:
listNames.append(input("Enter a name:"))
i+=1
print("List: ",listNames)
# it is take as minor
minorName=listNames[0]
i=1
while i<5:
if(listNames[i]<minorName):
minorName=listNames[i]
i+=1
print("The minor alphabetic name is: ",minorName)
Última actualización
¿Te fue útil?