Q. Given the following list L that stores the names of Nobel prize winners. Each element of the list is a tuple containing details of the one noble prize winner.


L = [(“Wilhelm Conrad R  ontgen”, “physics”,1901),(“Ronald Ross”, “medicine”,1902),(“Marie curie ”, “physics ”,1903),(“Ival Pavlov ”, “medicine”,1904),(“Henryk Sienkiewicz ”, “literature”,1905),(“Theodore Roosevelt ”, “peace”,1904)]


Write a program to short the list in the order of last names of the winners. use insertion sort algorithm.


Answer = 



L = [("Wilhelm Conrad R Ontgen","Physics",1901),("Ronald Ross","Medicine",1902), ("Marie Curie", "Physics",1903), ("Ivan Pavlov","Medicine",1904),("Henryk Sienkiewicz","Literature",1905),("Theodore Roosevelt","Peace",1906)]
st = ''
lst = []
x = 0 
for a in L :
    st = ''
    for b in a[0]:
        if b == ' ' :
            st = ''
        else :
            st = st + b
    lst.insert(x,st)
    x = x + 1
length = len(L)
for i in range (1 , length) :
    temp = lst [ i ]
    extemp = L[ i ]
    j = i - 1
    while j >=0 and temp < lst[j]:
        L[j+1] = L[j]
        lst[j+1] = lst[j]
        j = j - 1
    L[j+1] = extemp
    lst[j+1] = temp
for x in L:
    print(x)

Output :-

('Marie Curie', 'Physics', 1903)
('Wilhelm Conrad R Ontgen', 'Physics', 1901)
('Ivan Pavlov', 'Medicine', 1904)
('Theodore Roosevelt', 'Peace', 1906)
('Ronald Ross', 'Medicine', 1902)
('Henryk Sienkiewicz', 'Literature', 1905)

>>> 


Post a Comment

You can help us by Clicking on ads. ^_^
Please do not send spam comment : )

Previous Post Next Post