In Python:  So this is part of a large project I am working on but I'm having a hard time finding out how to read from one text file and then correct that information to another or same txt file as well as to do it alphabetically.  Any help is appreciated.  The code I've added was from a previous project that was similar as to what this one wants. Problem #1:    How much should I study outside of class?                         Issue:   Your fellow students liked the 2nd version of study hour’s application and want to expand it again by adding the features listed below.   Minimum Study Hours per Week per Class               Grade 15                                                                       A 12                                                                       B 9                                                                         C 6                                                                         D 0                                                                         F   Determine Hours to Study 2.1 The program will READ in data from a text file named StudyHours.txt. The user corrects any bad data. The program updates the information in StudyHours.txt file. For example if the file contains a letter grade of K which is not a possible letter grade.   StudyHours.txt contains the following data: first line full name second line number of credits third line grade desired for each class Example format StudyHours.txt file Aaron RODgers 12 A Tom brady 9 K philip Rivers apple c Joe Theismann 15 B 2.2 The program determines the total weekly study hours (for all classes) 2.3 All data must be displayed in proper case such as Bob Smith, i.e. no names should be in all lower case or all upper case or a mix such as bob or SmiTH. Use a function to convert to proper case. 2.4 The program displays the user’s name, number of credits, expected total number of weekly study hours, and desired grade 2.5 The information from 2.4 is also appended to a file named StudyHoursGrades.txt in alphabetical order (by firstname) in the following format: first line full name second line number of credits third line study hours fourth line grade Here is the code I have from previous projects: def studyHours(): #open StudentsHoursGrades.txt hoursFile = open('StudentsHoursGrades.txt', 'a') #Ask Student's Name student = input('Please enter your first and last name: \n') #Validation that something was entered while student == "": print('Please print a valid name. \n') student = input('Please enter your first and last name: \n') #Ask how many credit hours they are taking creditHours = input('How many credit hours are you taking this semester? \n') #Validate user entered a number while not creditHours.isdigit() or int(creditHours)%3!= 0: print('You entered', creditHours,'Credit hours should be divisible by 3 and not exceed 18.') creditHours = input('How many credit hours are you taking this semester? \n') #Ask what grade they desire grade = input('Please enter what letter grade you want to earn: \n') #Validate user entered a letter for grade while not((grade >= 'a' and grade <='d') or (grade == 'f') or (grade >='A' and grade <= 'D') or (grade =='F')): print('Please enter a valid letter grade of A, B, C, D, or F.') grade = input('Please enter what letter grade you want to earn: \n') #Calculate study rate if grade.upper() == 'A': studyRate = 15 elif grade.upper() == 'B': studyRate = 12 elif grade.upper() == 'C': studyRate = 9 elif grade.upper() == 'D': studyRate = 6 elif grade.upper() == 'F': studyRate = 0 #Calculate hours per class classHours = int(creditHours)/3 #Calculate study hours hours = int(classHours) * studyRate #write to file hoursFile.write(str(student) + '\n') hoursFile.write(str(creditHours) + '\n') hoursFile.write(str(hours) + '\n') hoursFile.write(grade + '\n') #close file hoursFile.close() #display on screen print('Name: ',student) print('Credits: ',creditHours) print('Study Hours: ',hours) print('Letter Grade: ',grade, '\n')

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter2: Elements Of High-quality Programs
Section: Chapter Questions
Problem 1GZ
icon
Related questions
Question

In Python:  So this is part of a large project I am working on but I'm having a hard time finding out how to read from one text file and then correct that information to another or same txt file as well as to do it alphabetically.  Any help is appreciated.  The code I've added was from a previous project that was similar as to what this one wants.

Problem #1:    How much should I study outside of class?

           

            Issue:  

Your fellow students liked the 2nd version of study hour’s application and want to expand it again by adding the features listed below.

 

Minimum Study Hours per Week per Class               Grade

15                                                                       A

12                                                                       B

9                                                                         C

6                                                                         D

0                                                                         F

 

  1. Determine Hours to Study
    • 2.1 The program will READ in data from a text file named StudyHours.txt. The user corrects any bad data. The program updates the information in StudyHours.txt file. For example if the file contains a letter grade of K which is not a possible letter grade.

 

StudyHours.txt contains the following data:

  • first line full name
  • second line number of credits
  • third line grade desired for each class

Example format StudyHours.txt file

Aaron RODgers

12

A

Tom brady

9

K

philip Rivers

apple

c

Joe Theismann

15

B

  • 2.2 The program determines the total weekly study hours (for all classes)
  • 2.3 All data must be displayed in proper case such as Bob Smith, i.e. no names should be in all lower case or all upper case or a mix such as bob or SmiTH. Use a function to convert to proper case.
  • 2.4 The program displays the user’s name, number of credits, expected total number of weekly study hours, and desired grade
  • 2.5 The information from 2.4 is also appended to a file named StudyHoursGrades.txt in alphabetical order (by firstname) in the following format:
    • first line full name
    • second line number of credits
    • third line study hours
    • fourth line grade

Here is the code I have from previous projects:

def studyHours():
#open StudentsHoursGrades.txt
hoursFile = open('StudentsHoursGrades.txt', 'a')

#Ask Student's Name
student = input('Please enter your first and last name: \n')

#Validation that something was entered
while student == "":
print('Please print a valid name. \n')
student = input('Please enter your first and last name: \n')


#Ask how many credit hours they are taking
creditHours = input('How many credit hours are you taking this semester? \n')

#Validate user entered a number
while not creditHours.isdigit() or int(creditHours)%3!= 0:
print('You entered', creditHours,'Credit hours should be divisible by 3 and not exceed 18.')
creditHours = input('How many credit hours are you taking this semester? \n')

#Ask what grade they desire
grade = input('Please enter what letter grade you want to earn: \n')

#Validate user entered a letter for grade
while not((grade >= 'a' and grade <='d') or (grade == 'f') or (grade >='A' and grade <= 'D') or (grade =='F')):
print('Please enter a valid letter grade of A, B, C, D, or F.')
grade = input('Please enter what letter grade you want to earn: \n')

#Calculate study rate
if grade.upper() == 'A':
studyRate = 15
elif grade.upper() == 'B':
studyRate = 12
elif grade.upper() == 'C':
studyRate = 9
elif grade.upper() == 'D':
studyRate = 6
elif grade.upper() == 'F':
studyRate = 0

#Calculate hours per class
classHours = int(creditHours)/3

#Calculate study hours
hours = int(classHours) * studyRate

#write to file
hoursFile.write(str(student) + '\n')
hoursFile.write(str(creditHours) + '\n')
hoursFile.write(str(hours) + '\n')
hoursFile.write(grade + '\n')

#close file
hoursFile.close()

#display on screen
print('Name: ',student)
print('Credits: ',creditHours)
print('Study Hours: ',hours)
print('Letter Grade: ',grade, '\n')

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Function Arguments
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
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage