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
1. Create a Book record that implements the Comparable interface, comparing the Book objects by year - title: String > - author: String - year: int Book + compareTo(other Book: Book): int + toString(): String Submit your source code on Canvas (Copy your code to text box or upload.java file) > Comparable 2. Create a main method in Book record. 1) In the main method, create an array of 2 objects of Book with your choice of title, author, and year. 2) Sort the array by year 3) Print the object. Override the toString in Book to match the example output: @Javadoc Declaration Console X Properties Book [Java Application] /Users/kuan/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspo [Book: year=1901, Book: year=2010]
Q5-The efficiency of a 200 KVA, single phase transformer is 98% when operating at full load 0.8 lagging p.f. the iron losses in the transformer is 2000 watt. Calculate the i) Full load copper losses ii) half load copper losses and efficiency at half load. Ans: 1265.306 watt, 97.186%
2. Consider the following pseudocode for partition: function partition (A,L,R) pivotkey = A [R] t = L for i L to R-1 inclusive: if A[i] A[i] t = t + 1 end if end for A [t] A[R] return t end function Suppose we call partition (A,0,5) on A=[10,1,9,2,8,5]. Show the state of the list at the indicated instances. Initial A After i=0 ends After 1 ends After i 2 ends After i = 3 ends After i = 4 ends After final swap 10 19 285 [12 pts]
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
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
COMPREHENSIVE MICROSOFT OFFICE 365 EXCE
Computer Science
ISBN:9780357392676
Author:FREUND, Steven
Publisher:CENGAGE L