In this code we are going to discuss how to find the second-largest number in a list using a while loop in Python:
Simple code:
my_list = [5, 12, 7, 19, 3, 8, 10]
largest_num = my_list[0]
second_largest = None
i = 1
while i < len(my_list):
if my_list[i] > largest_num:
second_largest = largest_num
largest_num = my_list[i]
elif my_list[i] > second_largest or second_largest is None:
second_largest = my_list[i]
i += 1
print("The second largest number in the list is:", second_largest)
Output:
The second largest number in the list is: 12
Code with comments:
# initialize the list of numbers
my_list = [5, 12, 7, 19, 3, 6, 10]
# initialize the largest_num variable to the first element of the list
largest_num = my_list[0]
# initialize the second_largest variable to None
second_largest = None
# initialize the counter i to 1
i = 1
# continue looping until i reaches the end of the list
while i < len(my_list):
# check if the current element is greater than the largest_num variable
if my_list[i] > largest_num:
# update the second_largest variable to the current largest_num value
second_largest = largest_num
# update the largest_num variable to the current element
largest_num = my_list[i]
# check if the current element is greater than the second_largest variable or if second_largest is None
elif my_list[i] > second_largest or second_largest is None:
# update the second_largest variable to the current element
second_largest = my_list[i]
# increment the counter i by 1
i += 1
# print the second largest number in the list
print("The second largest number in the list is:", second_largest)
In the above code, we first initialize the list of numbers my_list, the largest_num variable to the first element of the list, and the second_largest variable to None.
We also initialize the counter i to 1.
We use a while loop to iterate through the list and update the largest_num and second_largest variables based on the current element.
Finally, we print the second largest number in the list using the print() function.
Was this helpful?
YesNo