Hello, I am getting a key error when I run my program. It is saying that i do not have ch defined in my dictionary(the code it is referring to is towards the bottom. I thought I had defined it by this: ch= input('\nEnter your menu choice:').upper() But that isnt working. How would i go about defining ch in my dictionary so I can get rid of this key error? Please and thank you for your help. def display_averages_and_totals(self): try: with open ("HowManyHours.txt", "r") as file:#read data from file data = file.readlines() create_report() total_credits = 0 total_study_hours = 0 total_students = 0 for line in data: values = line.strip().split(",")#using a delimiter to split the line into a list of values student = values[0] total_credits += int(values[1]) total_study_hours += int(values[2]) grade = values[3] total_students += 1#calculating total students average_credits = total_credits / total_students#calculating average credits. average_study_hours = total_study_hours / total_students#calculating average study hours. print("Study Hours Report\n") print(f"Created for:{report2.report_for},{report2.report_employee_id}\n") print(f"Department:{report2.report_department}\n") print(f"Created By: {report1.creator_name},{report1.creator_employee_id}\n") print(f"Department:{report1.creator_department}\n") print(f"Total Students: {total_students}\n") print(f"Average Credits: {average_credits:.2f}\n") print(f"Average Study Hours: {average_study_hours:.2f}\n") ## report1 = Report(creator_name, creator_employee_id, creator_department)#, report_for, report_employee_id, report_department) ## ## report_for = input("Enter the name of the report the person is for:") ## report_employee_id = input("Enter the employee id of the person the report is for:") ## report_department = input("Enter the department of the person the report is for:") ## ## report2 = Report(report_for, report_employee_id, report_department) except FileNotFoundError: raise FileNotFoundError("HowManyHours.txt is not found.") if __name__=='__main__': print('\t\t\tMain Menu')#main menu print('A: Determine Hours to Study:') print('B: Determine Grade:') print('C: Display Averages and Totals:') print('D: Quit Program'); ch= input('\nEnter your menu choice:').upper() choice_option = {#menu options the user gets to choose from 'A': determineHours, 'B': determine_grade, 'C': display_averages_and_totals, 'D': quit } choice_option[ch]() print("Thank you for using the Grade Calculator 2.0. Your support allows us to continue making apps you will love. Thank you.")
Hello, I am getting a key error when I run my program. It is saying that i do not have ch defined in my dictionary(the code it is referring to is towards the bottom. I thought I had defined it by this:
ch= input('\nEnter your menu choice:').upper()
But that isnt working. How would i go about defining ch in my dictionary so I can get rid of this key error? Please and thank you for your help.
def display_averages_and_totals(self):
try:
with open ("HowManyHours.txt", "r") as file:#read data from file
data = file.readlines()
create_report()
total_credits = 0
total_study_hours = 0
total_students = 0
for line in data:
values = line.strip().split(",")#using a delimiter to split the line into a list of values
student = values[0]
total_credits += int(values[1])
total_study_hours += int(values[2])
grade = values[3]
total_students += 1#calculating total students
average_credits = total_credits / total_students#calculating average credits.
average_study_hours = total_study_hours / total_students#calculating average study hours.
print("Study Hours Report\n")
print(f"Created for:{report2.report_for},{report2.report_employee_id}\n")
print(f"Department:{report2.report_department}\n")
print(f"Created By: {report1.creator_name},{report1.creator_employee_id}\n")
print(f"Department:{report1.creator_department}\n")
print(f"Total Students: {total_students}\n")
print(f"Average Credits: {average_credits:.2f}\n")
print(f"Average Study Hours: {average_study_hours:.2f}\n")
## report1 = Report(creator_name, creator_employee_id, creator_department)#, report_for, report_employee_id, report_department)
##
## report_for = input("Enter the name of the report the person is for:")
## report_employee_id = input("Enter the employee id of the person the report is for:")
## report_department = input("Enter the department of the person the report is for:")
##
## report2 = Report(report_for, report_employee_id, report_department)
except FileNotFoundError:
raise FileNotFoundError("HowManyHours.txt is not found.")
if __name__=='__main__':
print('\t\t\tMain Menu')#main menu
print('A: Determine Hours to Study:')
print('B: Determine Grade:')
print('C: Display Averages and Totals:')
print('D: Quit Program');
ch= input('\nEnter your menu choice:').upper()
choice_option = {#menu options the user gets to choose from
'A': determineHours,
'B': determine_grade,
'C': display_averages_and_totals,
'D': quit
}
choice_option[ch]()
print("Thank you for using the Grade Calculator 2.0. Your support allows us to continue making apps you will love. Thank you.")
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images