Assignment 2
Assignment 2
#!/usr/bin/env python3
import os
import csv
def hash_reader(database_file):
top_hash = {}
csv_reader = csv.DictReader(csv_file)
name = row['Name']
subject = row['Subject']
marks = float(row['Marks'])
top_hash[name] = {}
top_hash[name][subject] = marks
return top_hash
def calculate_mark(data_hash):
total_marks = {}
total = 0
total += marks
total_marks[student] = total
return total_marks
def print_in_ranking_order(mark_hash):
print(f"{name}: {marks}")
def get_subject(data_hash):
return list(unique_subjects)
def print_top_student(data_hash):
unique_subjects = get_subject(data_hash)
top_student = ""
max_mark = 0
max_mark = marks
top_student = student
total_mark = 0
num_of_student = 0
total_mark += marks
num_of_student += 1
if num_of_student > 0:
else:
def print_total_mark(mark_hash):
csv_reader = csv.reader(csv_file)
lines = list(csv_reader)
found = False
found = True
if not found:
lines.append([new_name, new_subject, new_mark])
csv_writer = csv.writer(csv_file)
csv_writer.writerows(lines)
temp_file = "temp.csv"
output_file.write(line)
os.replace(temp_file, file_name)
print("╔════════════╦════════╗")
print("╠════════════╬════════╣")
database_file = "database.csv"
data_hash = hash_reader(database_file)
total_mark_hash = calculate_mark(data_hash)
num_of_students = len(data_hash)
print_in_ranking_order(total_mark_hash)
print("**************************************************")
print_top_student(data_hash)
print("**************************************************")
uniq_subject = get_subject(data_hash)
calculate_avg_mark(uniq_subject, data_hash)
print("**************************************************")
print_total_mark(total_mark_hash)
print("**************************************************")
# No.6 & No.7 Update the marks of a given student in a given subject & append
the new student marks to the database
'''
'''
remove_data(database_file, "Somu")
'''
print_prog_card(student, subjects)
Outputs:
Adding data to database: