num_terms = 10 fibonacci = [0, 1] while len(fibonacci) < num_terms: next_term = fibonacci[-1] + fibonacci[-2] fibonacci.append(next_term) print(fibonacci)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
import csv class Student: def __init__(self, student_id, name): self.student_id = student_id self.name = name self.assessments = {} def add_grade(self, assessment_name, grade): self.assessments[assessment_name] = grade def calculate_average(self): if self.assessments: return sum(self.assessments.values()) / len(self.assessments) return 0 class Classroom: def __init__(self): self.students = {} def add_student(self, student_id, name): if student_id not in self.students: self.students[student_id] = Student(student_id, name) def add_assessment(self, student_id, assessment_name, grade): if student_id in self.students: self.students[student_id].add_grade(assessment_name, grade) def generate_report(self): with open('student_report.csv', mode='w', newline='') as file: writer = csv.writer(file) writer.writerow(["Student ID", "Name", "Assessment", "Grade", "Average"]) for student_id, student in self.students.items(): for assessment, grade in student.assessments.items(): writer.writerow([student_id, student.name, assessment, grade, student.calculate_average()]) # Example usage classroom = Classroom() classroom.add_student("1", "Alice") classroom.add_student("2", "Bob") classroom.add_assessment("1", "Math Test", 85) classroom.add_assessment("1", "Science Test", 90) classroom.add_assessment("2", "Math Test", 78) classroom.generate_report()
import csv class Student: def __init__(self, student_id, name): self.student_id = student_id self.name = name self.assessments = {} def add_grade(self, assessment_name, grade): self.assessments[assessment_name] = grade def calculate_average(self): if self.assessments: return sum(self.assessments.values()) / len(self.assessments) return 0 class Classroom: def __init__(self): self.students = {} def add_student(self, student_id, name): if student_id not in self.students: self.students[student_id] = Student(student_id, name) def add_assessment(self, student_id, assessment_name, grade): if student_id in self.students: self.students[student_id].add_grade(assessment_name, grade) def generate_report(self): with open('student_report.csv', mode='w', newline='') as file: writer = csv.writer(file) writer.writerow(["Student ID", "Name", "Assessment", "Grade", "Average"]) for student_id, student in self.students.items(): for assessment, grade in student.assessments.items(): writer.writerow([student_id, student.name, assessment, grade, student.calculate_average()]) # Example usage classroom = Classroom() classroom.add_student("1", "Alice") classroom.add_student("2", "Bob") classroom.add_assessment("1", "Math Test", 85) classroom.add_assessment("1", "Science Test", 90) classroom.add_assessment("2", "Math Test", 78) classroom.generate_report()