1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
olga55 [171]
3 years ago
10

In this assignment we are going to practice reading from a file and writing the results of your program into a file. We are goin

g to write a program to help Professor X automate the grade calculation for a course. Professor X has a data file that contains one line for each student in the course. The students name is the first thing on each line, followed by some tests scores. The number of scores might be different for each student. Here is an example of what a typical data file may look like: Joe 10 15 20 30 40 Bill 23 16 19 22 Sue 8 22 17 14 32 17 24 21 2 9 11 17 Grace 12 28 21 45 26 10 John 14 32 25 16 89 Program details Write a program that: Ask the user to enter the name of the data file. Read the data from the file and for each student calculate the total of the test scores, how many tests the student took, and the average of the test scores. Save the results in an output file (e.g. stats.txt) in the following order: studentName totalScore numberOfTests testAverage Note that the average is saved with 2 decimal places after the decimal point. Validation: Make sure your program does not crash if a file is not found or cannot be open.
Computers and Technology
1 answer:
zhenek [66]3 years ago
6 0

Answer:

In Python:

import os.path

from os import path

fname = input("Filename: ")

if path.exists(fname):

with open(fname) as file_in:

 lines = []

 for line in file_in:

  lines.append(line.rstrip('\n'))

f = open("stat.txt","r+")

f.truncate(0)

f = open("stat.txt", "a")

f.write("Names\tTotal\tSubjects\tAverage\n")

for i in range(len(lines)):

 rowsum = 0; count = 0

 nm = lines[i].split()

 for j in nm:

  if (j.isdecimal()):

   count+=1

   rowsum+=int(j)

 average = rowsum/count

 f.write(nm[0]+"\t %3d\t %2d\t\t %.2f\n" % (rowsum, count, average))

f.close()

else:

print("File does not exist")

Explanation:

See attachment for explanation where comments were used to explain each line

Download txt
You might be interested in
As a computer science student, which career you will select and what do you predict about the future of that specific IT-Career.
miv72 [106K]

Answer:

A cyber security agent

Explanation:

That will mean protecting organizations from being hacked by other ethical hackers

4 0
3 years ago
What is the output?
olga55 [171]

Answer:

The output is 28

Explanation:

Required

Determine the output of the code segment

The first line initializes "answer" to 0

The next two lines iterate through lists [2,4] and [3,5

Each of these lists have two elements; So, the number of iterations is 2 * 2 i.e. 4.

In the first iteration

numA = 2, numB = 3, answer = 0

So:

answer = answer + numA + numB= 0 + 2 + 3 = 5

In the second iteration

numA = 2, numB = 5, answer = 5

So:

answer = answer + numA + numB= 5 + 2 + 5 = 12

In the third iteration

numA = 4, numB = 3, answer = 12

So:

answer = answer + numA + numB= 12 + 4 + 3 = 19

In the fourth iteration

numA = 4, numB = 5, answer = 19

So:

answer = answer + numA + numB= 19 + 4 + 5 = 28

Lastly, the value of "answer" is printed

<em>Hence, the output is 28</em>

7 0
3 years ago
A user calls your help desk and says that he is trying to configure his Word document so that the text within his paragraphs is
katrin [286]

Answer:

The best answer would be

Explanation:

To access this command ...

Select the Format tab - Properties - Paragraph properties - Bleeds and spaces

7 0
4 years ago
The next few questions will be based on interpretations of a topographic map from East Brownsville, TX. To answer these question
11111nata11111 [884]

Answer:

a. Youthful

Explanation:

The river gets its water from youth stage fluvial water. The river meanders from side to side. East Brownsville will be less stable in international boundary in terms of physical position on the landscape because its base level drops.

8 0
3 years ago
A diagram of a flow chart to find the average of 10 numbers​
Nat2105 [25]

Answer:

Kindly check attached picture

Explanation:

Flowchart gives a graphical representation of a steps taken towers the execution of a program.

In the flowchart attached, A variable was initialized and set to 0 ; then a for loop was used to iterate integers 1 up to 10, for each number. It is added to the initialized variable sum until all the 10 integer numbers are added. The the average is obtained by dividing by 10.

4 0
3 years ago
Other questions:
  • Why does people that gets abused not report?
    5·1 answer
  • Compare the logical link control and the media access control. Which of the following is a correct statement?
    7·2 answers
  • Which computer device is used to capture or copy a photograph to place in a report?
    14·1 answer
  • How to search for the largest files on my computer vista?
    5·1 answer
  • What is the first step a user should take toward generating an index?
    7·1 answer
  • Who can add entries to value log
    8·1 answer
  • Please choose the correct option please tell fast​
    9·1 answer
  • 1. Do our shared social experiences lead us to think<br><br> communication is a cure-all?
    13·1 answer
  • What is a best practice when approaching an automation effort?
    6·1 answer
  • Compare and discuss between electromechanical and electronic era of computer​
    9·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!