Write a program that reads the student information from a tab separated values (tsv) file. The program then creates a text file that records the course grades of the students. Each row of the tsv file contains the Last Name, First Name, Midterm1 score, Midterm2 score, and the Final score of a student. A sample of the student information is provided in StudentInfo.tsv. Assume the number of students is at least 1 and at most 20.

The program performs the following tasks:

Read the file name of the tsv file from the user. Assume the file name has a maximum of 25 characters.
Open the tsv file and read the student information. Assume each last name or first name has a maximum of 25 characters.
Compute the average exam score of each student.
Assign a letter grade to each student based on the average exam score in the following scale:
A: 90 =< x
B: 80 =< x < 90
C: 70 =< x < 80
D: 60 =< x < 70
F: x < 60
Compute the average of each exam.
Output the last names, first names, exam scores, and letter grades of the students into a text file named report.txt. Output one student per row and separate the values with a tab character.
Output the average of each exam, with two digits after the decimal point, at the end of report.txt. Hint: Use the precision sub-specifier to format the output.
Ex: If the input of the program is:

StudentInfo.tsv
and the contents of StudentInfo.tsv are:

Barrett Edan 70 45 59
Bradshaw Reagan 96 97 88
Charlton Caius 73 94 80
Mayo Tyrese 88 61 36
Stern Brenda 90 86 45
the file report.txt should contain:

Barrett Edan 70 45 59 F
Bradshaw Reagan 96 97 88 A
Charlton Caius 73 94 80 B
Mayo Tyrese 88 61 36 D
Stern Brenda 90 86 45 C

Averages: midterm1 83.40, midterm2 76.60, final 61.60

Answers

Answer 1
def compute_grade(score):
if score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
else:
return 'F'

def compute_average(scores):
return sum(scores)/len(scores)

# Read the filename of the tsv file from the user
filename = input("Enter the tsv filename: ")

# Open the tsv file and read the student information
students = []
with open(filename, 'r') as f:
for line in f:
fields = line.strip().split('\t')
last_name, first_name, midterm1, midterm2, final = fields
midterm1 = int(midterm1)
midterm2 = int(midterm2)
final = int(final)
students.append((last_name, first_name, midterm1, midterm2, final))

# Compute the average exam score and assign a letter grade for each student
with open('report.txt', 'w') as f:
for student in students:
last_name, first_name, midterm1, midterm2, final = student
avg_score = compute_average([midterm1, midterm2, final])
letter_grade = compute_grade(avg_score)
f.write(f"{last_name}\t{first_name}\t{midterm1}\t{midterm2}\t{final}\t{letter_grade}\n")

# Compute the average of each exam
exams = {'midterm1': [], 'midterm2': [], 'final': []}
for student in students:
exams['midterm1'].append(student[2])
exams['midterm2'].append(student[3])
exams['final'].append(student[4])

f.write(f"\nAverages: midterm1 {avg1:.2f}, midterm2 {avg2:.2f}, final {avg3:.2f}")

Related Questions

figure 4.3 illustrates the coverage of the classification rules r1, r2, and r3. determine which is the best and worst rule according to

Answers

In order to determine the best and worst rule according to the figure 4.3 which illustrates the coverage of the classification rules r1, r2, and r3, we need to understand what classification rules are and what they do. Classification rules are used in data mining and machine learning as a way of predicting outcomes based on a set of given inputs.

They are often used in applications such as fraud detection, product recommendation, and email spam filtering.The three classification rules illustrated in figure 4.3 are r1, r2, and r3. Each rule has a different level of coverage, which means that it is able to predict outcomes for a different set of inputs. The best rule would be the one that has the highest coverage, while the worst rule would be the one that has the lowest coverage.In order to determine which rule is the best and which one is the worst, we need to look at the coverage of each rule. According to figure 4.3, r1 has the highest coverage, followed by r3 and then r2. This means that r1 is the best rule, while r2 is the worst rule. R1 has a coverage of 80%, r2 has a coverage of 60%, and r3 has a coverage of 70%.In conclusion, based on figure 4.3, the best rule according to the coverage is r1 with 80% coverage, and the worst rule is r2 with only 60% coverage. R3 has a coverage of 70%.

for more such question on coverage

https://brainly.com/question/2501031

#SPJ11

When factoring a polynomial in the form ax2 + bx - c, where a, b, and c are positive real
numbers, should the signs in the binomials be both positive, negative, or one of each?

Answers

When factoring a polynomial in the form ax^2 + bx - c, where a, b, and c are positive real numbers, the signs in the binomials should be one of each, meaning one binomial should be positive and the other should be negative. Specifically, the binomials should be of the form (px + q)(rx - s), where p, q, r, and s are constants that depend on the values of a, b, and c.

you use the commond gmnome-sheel --replace at the command line and receive adn error message from the utility. what doest tshi indicate

Answers

The command line utility "gnome-shell --replace" is used to replace the existing user interface with a new user interface. Receiving an error message when running this command indicates that something is preventing the new user interface from loading.

Possible causes include: insufficient memory, incompatible graphic drivers, corrupted system files, or incorrect command syntax. It is important to investigate further to determine the exact cause of the error. If the cause of the error is not immediately apparent, troubleshooting techniques like running a system file check, updating or changing graphic drivers, and using the command line log files can help pinpoint the issue.

Additionally, if the error message includes specific technical information, it is often helpful to research that information to find additional resources. Finally, it is important to be sure to always use the correct syntax when running commands. Ultimately, an error message received when running the command "gnome-shell --replace" indicates that something is preventing the new user interface from loading. Investigating further is necessary to find the cause of the issue and resolve the problem.

For more such questions on interface

https://brainly.com/question/29541505

#SPJ11

Use the factorial operation to evaluate 4!.

4 x 3 x 2 x 1
4 + 3 + 2 + 1
4.321
4 - 3 - 2 - 1

Answers

Answer:

4! = 4 x 3 x 2 x 1 = 24. . .. . . . . . ... . . . . .

TRUE/FALSE. when you get and transform data from an external source, you must add it to a worksheet without any changes.

Answers

The statement "when you get and transform data from an external source, you must add it to a worksheet without any changes" is false.

When you import and transform data from an external source, you can add it to a worksheet with or without modifications.The following are the steps to add the transformed data to a worksheet.

Step 1: To transform the data, choose a data source and transform the data to fit your specifications in the Power Query Editor.

Step 2: Choose Close & Load from the Close & Load drop-down list in the Close & Load drop-down list in the Close & Load group on the Home tab on the Power Query Editor ribbon.

Step 3: The Load To page is where you can specify how the query results are displayed in the Excel workbook. Select Table, PivotTable Report, or PivotChart Report from the options.

Step 4: Select Existing worksheet and choose the location on the worksheet where the data should be placed from the options available.

Step 5: To finish the wizard and add the transformed data to the worksheet, click OK.This process saves a lot of time and helps to keep the data up to date with the source. Data should be updated on a regular basis to keep it current and to aid in making critical decisions based on accurate and current data.

For such more questions on worksheet :

brainly.com/question/8034674

#SPJ11

in data science, is when a data analyst uses their unique past experiences to understand the story the data is telling.

Answers

This involves the analyst using their own knowledge, skills and intuition to interpret the data and draw conclusions. They are also able to identify patterns and trends in the data that may not be immediately obvious.

What is Data science?

Data science is the study of extracting knowledge from data. It involves the application of mathematics, statistics, and computing to uncover the hidden meanings and patterns in data. Data science is a subset of the broader field of data analytics. Data science is used by companies to gain insights about their customers, markets, products, and operations.

The data analyst’s role in data science is to use their unique past experiences to understand the story the data is telling. This requires the analyst to have a deep understanding of the data and to be able to identify patterns, trends, and correlations in the data. This type of analysis requires the analyst to be creative and open-minded in order to make sense of the data. Analysts must also be able to draw meaningful conclusions from the data and make predictions about the future.

Learn more about Data science here:

https://brainly.com/question/13104055

#SPJ1

TRUE/FALSE. Limited characteristics make it impossible for hash functions to be used to determine whether or not data has changed.

Answers

The given statement "Limited characteristics make it impossible for hash functions to be used to determine whether or not data has changed" is False because hash functions can be used to identify whether data has been altered, and their use is not restricted by limited characteristics.

A hash function is a method for creating a unique fixed-size digital fingerprint for a message of arbitrary length. The output, which is typically a short string of characters or numbers, is referred to as a hash, fingerprint, or message digest. It's worth noting that the hash function's output is always the same size regardless of the input's size. The hash function is used to validate the integrity of the transmitted data.

The hash function can quickly detect any changes made to the original data by recalculating the hash value and comparing it to the initial hash value. Hash functions can be used to detect whether or not data has been altered. It works by comparing the hash value of the original data with the hash value of the new data. If the hash values are the same, the data has not been altered. If the hash values are different, the data has been altered. Hash functions are widely used in computer security to ensure the integrity of data.

Hence, the given statement "Limited characteristics make it impossible for hash functions to be used to determine whether or not data has changed" is False.

Know more about Hash function here:

https://brainly.com/question/13164741

#SPJ11

What does sarah Bergbreiter mean by " there's still a long way to go"?

Answers

Without more context, it's difficult to say for sure what Sarah Bergbreiter meant by "there's still a long way to go." However, in general, this phrase is often used to mean that although some progress has been made, there is still much work to be done. It suggests that the current situation or achievement is not yet good enough or complete, and that more effort or time is needed to reach a desired goal.

In the context of robotics, Bergbreiter may be referring to the fact that although micro-robots have made significant advances in recent years, there are still many challenges that need to be overcome before they can be widely used in practical applications. These challenges could include things like improving their durability, increasing their power efficiency, and making them more reliable in complex environments. By saying that "there's still a long way to go," Bergbreiter may be emphasizing the need for continued research and development in this field.
Other Questions
Running on a treadmill is slightly easier than running outside because there is no drag force to work against. Suppose a 60 kg runner completes a 5.0 km race in 22 minutes. Determine the drag force on the runner during the race. Suppose that the cross section area of the runner is 0.72 m2 and the density of air is 1.2 kg/m3.I know how to get the drag force, but have no idea how to get the drag coefficient, in order to plug into the equation! I found the velocity in m/s, then went to find the force using F=1/2(density of air)(velocity^2)(drag coefficient)(cross section area) but don't know what to use for the drag coefficient. does the air in a room at room temperature and pressure behave ideally How many calories are required to raise the temperature of a 35.0 g sample from 35 C to 85 C? The sample has a specific heat of 0.108 cal/g C. In a distribution of 387 values with a mean of 72, at least 344 fall within the interval 64-80. Approximately what percentage of values should fall in the interval 56-88? Use Chebyshevs theorem. Round your k and s values to one decimal place and final answer to two decimal places. What describes the daughter cells produced during meiosis? Under common law, which of the following was true in regard to arson?a. Negligence was sufficient to establish arsonb. Criminal intent was not necessaryc. The requirement of burning did not require that the dwelling be burned completelyd. You could commit arson individuals who exhibit behavior characterized as type b have a significantly higher incidence for disease, especially cardiovascular conditions.true or false find the length of the cord pt.3 a water park sold 1679 tickets for total of 44,620 on a wa summer day..each adult tocket is $35 and each child ticket is $20. how many of each type of tixkwt were sold? when exploring the k-means clustering of a data set you examine the projections of the first two principle component of the cluster ellipses, for a certain number of clusters, and you observe: * the major and minor axes of each of the ellipses are of distinctly different length. * the directions of major axes of the ellipses are distinctly different. which of the following statements is true? a. the number of clusters chosen is too many for this dataset and should be reduced. b. the number of clusters chosen fits this dataset well. c. clustering is not a useful method for this dataset. d. the clusters will exhibit a poor separation A balloon has a volume of 800.0 mL on a day when the temperature is 308 K. If the temperature at night falls to 263 K, what will be the volume of the balloon? return to questionitem 17 required information pa6-5 (static) preparing a multistep income statement and computing the gross profit percentage [lo 6-6] skip to question [the following information applies to the questions displayed below.] big tommy corporation is a local grocery store organized seven years ago as a corporation. the bookkeeper prepared the following statement at year-end (assume that all amounts are correct, but note the incorrect format): big tommy corporation profit and loss december 31 debit credit net sales $ 404,000 cost of goods sold $ 279,000 salaries and wages expense 58,000 office expense 16,000 travel expenses 1,000 income tax expense 15,000 net profit 35,000 totals $ 404,000 $ 404,000 pa6-5 (static) part 2 compute the gross profit percentage. (round your answer to 1 decimal place.) identify whether each macroeconomic variable is an example of a withdrawal or an injection. then, determine the value of investment at equilibrium. all values are in billions of dollars. Bill and Hillary each buy a house and take out a $100,000 loan. His house is in New York and her house is in Washington D.C. Bill takes out a conventional 30 year fixed rate mortgage, and Hillary opts for a conventional 15 year fixed rate mortgage. Which of the following correctly summarizes how Bill's mortgage is different from Hillary's (all other things being equal)?- Bill's 30 year mortgage has a higher interest rate, lowermonthly payments and higher overall interest payments.It builds equity more slowly than Hillary's mortgage.- Hillary's 15 year mortgage has a higher interest rate, highermonthly payments and higher overall interest payments.It builds equity more slowly than Bill's mortgage.- Bill's 30 year mortgage has a lower interest rate, lowerpayments and lower overall interest payments. It buildsequity more quickly than Hillary's mortgage.- None of the answers are correct find a polynomial function with the following zeros: double zero at -4 simple zero at 3. In preparing a company's statement of cash flows using the indirect method, the following information is available:Net income$59,000Accounts payable decreased by$25,000Accounts receivable increased by$32,000Inventories increased by$12,000Cash dividends paid$15,400Depreciation expense$27,000Net cash provided by operating activities was:a. $51,000b. $75,600c. $141,000d. $37,000e. $17,000 42. The number of decibels, d, produced by an audiosource can be modeled by the equation d = 10 log(K),where I is the sound intensity of the audio source andK is a constant. How many decibels are produced by anaudio source whose sound intensity is 1,000 times thevalue of K?F. 4G. 30H. 40J. 100K. 10,000 How to open NAT type for multiple PC's? Suppose that the current value of PC is 0x00004000. Can we use a single jump instruction to go to PC= 0x20014924?(if yes, write the jump instruction and show the value of the immediate field in Hex. If not, use a combinations of instructions to do so and show the immediate values in Hex) ____: the process by which one party supplants another as the dominant party in a two-party political system.