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
olganol [36]
4 years ago
8

(Process scores in a text file) Suppose that a text file contains an unspecified number of scores. Write a program that reads th

e scores from the file and displays their total and average. Scores are separated by blanks. Your program should prompt the user to enter a filename. Here is a sample run:

Computers and Technology
1 answer:
lisov135 [29]4 years ago
7 0

Answer:

Here is the Python program:

def scores(file):  # method scores that takes a file name as parameter and returns the sum and average of scores in a file

   with open(file, 'r') as infile:  # open the file in read mode

       lines = [score.split() for score in infile]  # split the scores into a list

       print("The scores are:",lines)  #print the scores

       for line in lines:  # loops through each score

           total= sum(int(score) for score in line)  # adds the scores

           average =total/len(line) # computes average by taking sum of scores and dividing by number of scores in file

       print("The sum is:", total)  #prints the sum of scores

       print("The average is:", "{:.2f}".format(average))   #prints the average

filename = input("Enter name of the file: ")  #prompts user to enter name of file

scores(filename) #calls scores method by passing the file name to it in order to compute sum and average of file contents i.e. scores

Explanation:

It is assumed that the scores in the file are separated by a blank space.

The scores() method takes a file name as parameter. Then it opens that input file in read mode using object infile.

split() method is used to split the scores in a file into a list. Suppose the scores are 1 2 3 4 5 6 . So after the split, they become ['1', '2', '3', '4', '5', '6']  

The loop iterates through each score in the file, splits them into a list and stores this list in lines. The next print statement prints these scores in a list.

The second loop for line in lines iterates through each score of the list and the statements: total= sum(int(score) for score in line)  and average =total/len(line) computes the total and average of scores.

total= sum(int(score) for score in line)  statement works as follows:

for loop iterates through each element of list i.e. each score

int() converts that string element into integer.

sum() method adds the integers to compute their total.

So if we have  ['1', '2', '3', '4', '5', '6']  each element i.e. 1,2,3,4,5,6 is converted to integer by int() and then added together by sum method. So this becomes 1+2+3+4+5+6 = 21. This result is stored in total. Hence

total = 21.

average = total/len(line) works as follows:

The computed sum of scores stored in total is divided by the number of scores. The number of scores is computed by using len() method which returns the length of the line list. So len() returns 6. Hence

average = total/len(line)

              = 21 / 6

average = 3.5

The next two print statement prints the value of sum and average and "{:.2f}".format(average)) prints the value of average up to 2 decimal places.

The screenshot of the program along with its output is attached.

You might be interested in
You can use pen and highlighter tools to emphasize information on a slide during a PowerPoint presentation. These tools are avai
11111nata11111 [884]
C. slide show toolbar

7 0
3 years ago
Simplest way to start baking career is to attend_______.<br><br><br><br>​
ivolga24 [154]
...attend course
I hope my answer helps.
7 0
3 years ago
This process can be applied to help workers choose the best telecommunications technology to do a specific task.
Lisa [10]
B. Internet Telephony would be my best guess. I'm not that good with computers. Hope this Helps :-)
4 0
4 years ago
Read 2 more answers
Summarize why understanding the differences between surface culture and deep culture may inform your knowledge, skills, and prof
lorasvet [3.4K]

Answer: By understanding the basic cultural values of the individual such as looks and talk. Also understanding the core values of the individual such as attitude, beliefs and religion. It would improve the behavior in your professional and cultural relationship with individuals in your workplace.

Explanation:

8 0
3 years ago
If you would like to give another user permissions on your mailbox or to particular folders within your mailbox, which role shou
Darya [45]

Answer:

Delegate

Explanation:

8 0
3 years ago
Other questions:
  • What type of survey can help a network administrator make decisions about bands, channels, and widths when installing new access
    9·1 answer
  • If you are upgrading your operating system to Windows 7, you may not use the In-Place Upgrade Installation Option with
    14·1 answer
  • Which of the following is NOT an advantage to using inheritance?
    13·1 answer
  • SQL statement to verify the updated name field for the publisher with ID 5 SELECT * FROM Publisher WHERE PubID=5;
    7·1 answer
  • In programming, what is a string?
    8·2 answers
  • [1] Please find all the candidate keys and the primary key (or composite primary key) Candidate Key: _______________________ Pri
    6·1 answer
  • what program searches the Internet for specified keywords and returns a list of the pages where the keywords were found
    6·1 answer
  • I NEED HELP ASAP!
    6·2 answers
  • What is an example of a recent development in technology
    11·2 answers
  • Name 3 things that you use daily that are considered computers?
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!