Computer Science, asked by sarkarchanchal200, 11 months ago

WAP to input N numbers and then print the second largest no in python

Answers

Answered by SKSWAGBOSS
3

Answer:

Method 1: Sorting is an easier but less optimal method. Given below is an O(n) algorithm to do the same.

Python program to find second largest

# number in a list

# list of numbers - length of list should be at least 2

list1 = [10, 20, 4, 45, 99]

mx=max(list1[0],list1[1])

secondmax=min(list1[0],list1[1])

n =len(list1)

for i in range(2,n):

if list1[i]>mx:

secondmax=mx

mx=list1[i]

elif list1[i]>secondmax and mx != list1[i]:

secondmax=list1[i]

else:

if secondmax == mx:

secondmax = list1[i]

print("Second highest number is : ",str(secondmax))

Method 2 : Sort the list in ascending order and print the second last element in the list.

# Python program to find largest

# number in a list

# list of numbers

list1 = [10, 20, 4, 45, 99]

# sorting the list

list1.sort()

# printing the second last element

print("Second largest element is:", list1[-2])

Output:

Largest element is: 45

Method 3 : By removing the max element from list

# Python program to find second largest

# number in a list

# list of numbers

list1 = [10, 20, 4, 45, 99]

# new_list is a set of list1

new_list = set(list1)

# removing the largest element from temp list

new_list.remove(max(new_list))

# elements in original list are not changed

# print(list1)

print(max(new_list))

Output:

Largest element is: 45

Method 3 : Find max list element on inputs provided by user

# Python program to find second largest

# number in a list

# creating empty list

list1 = []

# asking number of elements to put in list

num = int(input("Enter number of elements in list: "))

# iterating till num to append elements in list

for i in range(1, num + 1):

ele = int(input("Enter elements: "))

list1.append(ele)

'''

# sort the list

list1.sort()

# print second maximum element

print("Second largest element is:", list1[-2])

'''

# print second maximum element using sorted() method

print("Second largest element is:", sorted(list1)[-2])

Output:

Enter number of elements in list: 4

Enter elements: 12

Enter elements: 19

Enter elements: 1

Enter elements: 99

Largest element is: 19

Answered by gaganadithyareddy9
5

Answer:

Hey! Here is your python code...

x = int(input("How many numbers? "))

nums = [ ]

for i in range(x):

   a = int(input("Enter a number: "))

   nums.append(a)

   

nums.remove(max(nums))

print("Second largest number = ", max(nums))

# HOPE THIS HELPS!!

Similar questions