72.2k views
11 votes
The goal of this project is to become familiar with basic Python data processing and file usage. By the end of this project, students will be able to generate a small program to generate simple reports on text and numerical data.The year is 2152. You have been hired by a major robotic pilot training and robot design contract firm to process the data from their most recent field tests in multiple training sites. To make this process easier on yourself, you have decided to write a Python script to automate the process. The company wants the following data on their robots for the training sites:

1) The information of the best pilot, as quantified by their field test average
2) The average performance of each field test
3) A histogram of robot colors from a giving training site
4) The average first and last name lengths, rounded do

1 Answer

11 votes

Answer:

Step-by-step explanation:

The question does not provide any actual data to manipulate or use as input/guidline therefore I have taken the liberty of creating a function for each of the question's points that does what is requested. Each of the functions takes in a list of the needed data such as a list of field test averages for part 1, or a list of field tests for part 2, etc. Finally, returning the requested output back to the user.

import matplotlib.pyplot as plt

from collections import Counter

def best_pilot(field_test_average):

return max(field_test_average)

def find_average(field_test):

average = sum(field_test) / len(field_test)

return average

def create_histogram(field_test_colors):

count_unique_elements = Counter(field_test_colors).keys()

plt.hist(field_test_colors, bins=len(count_unique_elements))

plt.show()

def average_name_lengths(first, last):

first_name_sum = 0

last_name_sum = 0

count = 0

for name in first:

first_name_sum += len(name)

count += 1

for name in last:

last_name_sum += len(name)

first_name_average = first_name_sum / count

last_name_average = last_name_sum / count

return first_name_average, last_name_average

User Mark Gibaud
by
3.4k points