In python, Im not getting an output for this code. import csv tsv_name=input("Enter tsv file name : ") tsv_file=open(tsv_name) read_tsv = csv.reader(tsv_file, delimiter="\t") f=open("report.txt","w") student_cnt=0 m1_avrg=0 m2_avrg=0 fexam_avrg=0 for row in read_tsv: student_cnt+=1 lname=row[0]

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter8: I/o Streams And Data Files
Section: Chapter Questions
Problem 5PP: (Data processing) Write a C++ program that reads the file created in Exercise 4, permits the user to...
icon
Related questions
Question
100%

In python, Im not getting an output for this code.

import csv

tsv_name=input("Enter tsv file name : ")
tsv_file=open(tsv_name)
read_tsv = csv.reader(tsv_file, delimiter="\t")
f=open("report.txt","w")
student_cnt=0
m1_avrg=0
m2_avrg=0
fexam_avrg=0
for row in read_tsv:
student_cnt+=1
lname=row[0]
fname=row[1]
m1=int(row[2])
m2=int(row[3])
fexam=int(row[4])
avrg=(m1+m2+fexam)/3
grade=" "
if(avrg>=90.0):
grade="A"
elif(avrg>=80.0):
grade="B"
elif(avrg>=70.0):
grade="C"
elif(avrg >=60.0):
grade="D"
else:
grade="F"

f.write("%s\t%s\t%d\t%d\t%d\t%s\n"%(lname,fname,m1,m2,fexam,grade))

m1_avrg+=m1
m2_avrg+=m2
fexam_avrg+=fexam


m1_avrg=(m1_avrg/student_cnt)
m2_avrg=(m2_avrg/student_cnt)
fexam_avrg=(fexam_avrg/student_cnt)

f.write("Averages: midterm1 {0:.2f},\tmidterm2 {1:.2f},\tfinal {2:.2f}".format(m1_avrg,m2_avrg,fexam_avrg))
f.close()

14.5 LAB^: Course Grade
Write a program that reads the student information from a comma separated values (csv) file. The program then creates a text file that
records the course grades of the students. Each row of the file contains the Last Name, First Name, Midterm1 score, Midterm2 score, and
the Final score of a student each separated by a comma. A sample of the student information is provided in Studentlnfo.txt. 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 file from the user.
Open the text file and read the student information.
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:
o A: 90 =< x
o B: 80 =< x < 90
o C: 70 =< x < 80
o D: 60 =< x < 70
o 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.txt
and the contents of Studentlnfo.txt 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
06
86
45
Averages: Midterm1 83.40, Midterm2 76.60, Final 61.60
Transcribed Image Text:14.5 LAB^: Course Grade Write a program that reads the student information from a comma separated values (csv) file. The program then creates a text file that records the course grades of the students. Each row of the file contains the Last Name, First Name, Midterm1 score, Midterm2 score, and the Final score of a student each separated by a comma. A sample of the student information is provided in Studentlnfo.txt. 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 file from the user. Open the text file and read the student information. 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: o A: 90 =< x o B: 80 =< x < 90 o C: 70 =< x < 80 o D: 60 =< x < 70 o 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.txt and the contents of Studentlnfo.txt 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 06 86 45 Averages: Midterm1 83.40, Midterm2 76.60, Final 61.60
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
File Input and Output Operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr