Python Programming: An Introduction to Computer Science, 3rd Ed.
Python Programming: An Introduction to Computer Science, 3rd Ed.
3rd Edition
ISBN: 9781590282755
Author: John Zelle
Publisher: Franklin, Beedle & Associates
bartleby

Concept explainers

Question
Book Icon
Chapter 13, Problem 4PE
Program Plan Intro

Maximum of list

Program plan:

  • Import the package.
  • Define the “Max()” function,
    • Make simultaneous assignment to initialize the variables.
    • Assign the values return from “len()”.
    • Execute while loop when both “lst_1” and “lst_2” have more items,
      • Check whether top of “lst_1” is larger,
        • If it is “True”, copy that top value into current location in “lst_3”.
        • Increment “s1” by “1”.
      • Otherwise,
        • Copy the top of “lst_2” into the current location in “lst_3”.
        • Increment “s2” by “1”.
      • Increment “s3” by “1” when element is added to “lst_3”.
    • Execute the “while” loop to copy remaining elements from “lst_1”,
      • Copy the element.
      • Increment “s1” by “1”.
      • Increment “s3” by “1”.
    • Execute the "while" loop to copy remaining elements from “lst_2”,
      • Copy the element.
      • Increment “s2” by “1”.
      • Increment “s3” by “1”.
  • Define the function “merge_Sort()”,
    • Assign the initial values for the variable.
    • Check whether the number element is greater than 1,
      • Split the list into two sub lists.
      • Make simultaneous assignment to assign two sub lists using slicing.
      • Make recursive calls to sort each sub list.
      • Merge the sorted sub list into original list.
  • Create empty list.
  • Create for loop to iterate “100” times.
    • Append the random value to the end of the list.
  • Call the “merge_Sort()” function.
  • Print the list.

Expert Solution & Answer
Check Mark
Program Description Answer

This Python program is to demonstrate a recursive function “Max()” to find the largest number in a list where the largest number is the larger of the first item and the maximum of all the other items.

Explanation of Solution

Program:

File name: “conference.py

#Import the package

from random import randrange

#Define the function

def Max(lst_1, lst_2, lst_3):

    #Make simultaneous assignment

    s1, s2, s3 = 0, 0 , 0

    #Assign the values return from len()

    n1, n2 = len(lst_1), len(lst_2)

    '''Execute while loop when both lst_1 and lst_2 have more items'''

    while s1 < n1 and s2 < n2:

        #Check whether top of lst_1 is larger

        if lst_1[s1] > lst_2[s2]:    

            '''Copy that top value into current location in lst_3'''

            lst_3[s3] = lst_1[s1]    

            #Increment by "1"

            s1 = s1 + 1

        #Otherwise

        else:                    

            '''Copy the top of lst_2 into the current location in lst_3'''

            lst_3[s3] = lst_2[s2]   

            #Increment by "1"

            s2 = s2 + 1

        #Increment by "1" when element added into lst_3

        s3 = s3 + 1               

    '''Execute the "while" loop to copy remaining elements from lst_1'''

    while s1 < n1:

        #Copy the element

        lst_3[s3] = lst_1[s1]

        #Increment by "1"

        s1 = s1 + 1

        #Increment by "1"

        s3 = s3 + 1

    '''Execute the "while" loop to copy remaining elements from lst1_2'''

    while s2 < n2:

        #Copy the element

        lst_3[s3] = lst_2[s2]

        #Increment by "1"

        s2 = s2 + 1

        #Increment by "1"

        s3 = s3 + 1

#Define the function

def merge_Sort(num):

    #Assign the value

    n = len(num)

    '''Check whether the number element is greater than 1'''

    if n > 1:

        #Split the list into two sub lists

        v = n // 2

        '''Make simultaneous assignment to assign two sub lists using slicing'''

        nums_1, nums_2 = num[:v], num[v:]

        #Make recursive calls to sort each sub list

        merge_Sort(nums_1)

        merge_Sort(nums_2)

        #Merge the sorted sub list into original list

        Max(nums_1, nums_2, num)

#Create empty list

lst = []

#Create for loop

for n in range(100):

    #Append the random value to the end of the list

    lst.append(randrange(1, 1000))

#Call the function

merge_Sort(lst)

#Print the list

print(lst)

Sample Output

Output:

[996, 992, 975, 974, 956, 952, 947, 937, 921, 915, 902, 899, 891, 889, 886, 863, 863, 862, 856, 841, 837, 819, 808, 791, 760, 755, 754, 739, 736, 732, 685, 663, 638, 628, 623, 622, 612, 594, 569, 562, 552, 532, 531, 528, 527, 523, 492, 475, 468, 461, 452, 451, 444, 438, 431, 413, 405, 401, 375, 370, 358, 354, 350, 350, 347, 339, 325, 290, 286, 246, 227, 220, 215, 188, 185, 182, 168, 161, 149, 142, 141, 141, 139, 135, 115, 114, 112, 101, 96, 94, 94, 85, 84, 84, 80, 78, 70, 18, 13, 11]

>>>

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
Please original work What topic would be related to architectures or infrastructures. How you would implement your chosen topic in a data warehouse project. Please cite in text references and add weblinks
What is cloud computing and why do we use it? Give one of your friends with your answer.
What are triggers and how do you invoke them on demand? Give one reference with your answer.
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning