# LargestWithIntParameter.py Copyright (c) Kari Laitinen # http://www.naturalprogramming.com # 2006-05-21 File created. # 2022-12-18 Converted to Python 3. # This program behaves in the same way as program LargestReturned.py # in the pythonfiles2 folder (directory). # This program demonstrates that it is possible to return # data to a calling program by using an object that stores # some "primitive" value. class IntParameter : def __init__( self, given_initial_value = 0 ) : self.int_value = given_initial_value def get_value( self ) : return self.int_value def set_value( self, given_new_value ) : self.int_value = given_new_value def search_largest_integer( list_of_integers, number_of_integers_in_list, largest_integer_to_caller ) : largest_integer = list_of_integers[ 0 ] integer_index = 1 while integer_index < number_of_integers_in_list : if list_of_integers[ integer_index ] > largest_integer : largest_integer = list_of_integers[ integer_index ] integer_index += 1 largest_integer_to_caller.set_value( largest_integer ) # The main program begins. first_list = [ 44, 2, 66, 33, 9 ] second_list = [ 888, 777, 66, 999, 998, 997 ] found_largest_integer = IntParameter() search_largest_integer( first_list, 5, found_largest_integer ) print( "\n The largest integer in first_list is %d." % \ found_largest_integer.get_value() ) search_largest_integer( second_list, 6, found_largest_integer ) print( "\n The largest integer in second_list is %d." % \ found_largest_integer.get_value() )