Advanced Python Programming and Binary Search Algorithm Questions

User Generated


Computer Science


1. The Product.csv contains over 400 products. Here is a representative sample:

00100100011000,Apple sauce,20.77

1st field is the "Barcode", where 0 represents a narrow strip and 1 is a wide strip.
2nd field is the Product Name.
3rd field is the product Price.

Create a User Defined Type to hold this data. Each line in the data file Products.csv corresponds to a product. Read each line of the data in the file, create a product and strore the product in a Dictionary. The Key to the Product is the Barcode, and the Value is the Product Name and Price.

The Carts.csv contains multiple Products, and each of the Products in the Cart are represented by a barcode. Here is a representative sample:


Process each Barcode in the Cart by looking up the Product Name and Price in the Product Dictionary. After retrieving the Product information for the Barcode, print the Product Name and Price. At the end of processing the Cart, print the total cost for all the Products in the Cart.

We've determined that the lookup program in Python uses a linear search to find items. A more efficient algorithm is the Binary Search Algorithm, listed here:

low = 0
high = len(numbers) - 1

while high >= low:
mid = (high + low) // 2
if numbers[mid] < key:
low = mid + 1
elif numbers[mid] > key:
high = mid - 1
return mid
return -1 # not found

To see if the Binary Search algorithm IS faster than a linear search, sort the Product List by Barcode as it's sorted by Product Name now. Binary Searches only work on sorted data. Then call the Binary Search algorithm. You should see a difference in processing time.

2. Draw a frequency bar chart. Refer to picture

Files are attached

Attachment preview

Using Tkinter, draw a character frequency bar-chart for the count of characters in text file. Example bar-chart: [bar chart] The bars can be either vertical or horizontal and, at least, label the letters.

User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer


I was having a hard time with this subject, and this was a great help.


Related Tags