Hello.
I'm having trouble printing specific attributes from my object-array. My code is below, and it contains my class Student, class Array, along with two function (main, and the function that creates the array.
I'm trying to print the first and last names, contained within the array, from my main() under the second 'if' statement. My menu in main() shows our tasks to accomplish.
Note: Please forgive any naming convention violations as they are meant to be descriptive and will be cleaned up later when my class partner and I come together later. This is a joint project with another student, so some of the names are not of my creation.
Here is my main function:
I'm having trouble printing specific attributes from my object-array. My code is below, and it contains my class Student, class Array, along with two function (main, and the function that creates the array.
I'm trying to print the first and last names, contained within the array, from my main() under the second 'if' statement. My menu in main() shows our tasks to accomplish.
Note: Please forgive any naming convention violations as they are meant to be descriptive and will be cleaned up later when my class partner and I come together later. This is a joint project with another student, so some of the names are not of my creation.
Here is my main function:
from classStudent import Student from classArray import Array from linkStudentsToClass import loadCSVdatas ''' Main function contians 'if' statements to execute methods from user input''' def main(): continue_on = 'y' while continue_on == 'y': userInput = menu() if userInput == 1: newArray = loadCSVdatas() print("\nHere is your student database:\n") print(newArray) for line in newArray: print(line) continue_on = input("Would you like to return to the main menu? y or n: ") if continue_on == 'y': continue else: break if userInput == 2: newArray = loadCSVdatas() studentData = Student(Id, First_Name, Last_Name, Programe, Start_Date, Adv_Last_Name, Most_Recent, GPA) for i in newArray: print (Student(newArray(First_Name))) continue_on = input("Would you like to return to the main menu? y or n: ") if continue_on == 'y': continue else: break ''' Menu function''' def menu(): print("Welcome to Singh's and Pete's Student database.\n" "Please choose from the following menu options:\n" "1. Load and View the Student Database\n" "2. List all students\n" "3. List all students with their programs Program\n" "4. Exit") userInput = int(input()) return userInput if __name__ == "__main__": main()Here is my module (linkStudentsToClass) that creates my array.
from classStudent import Student from classArray import Array import csv def loadCSVdatas(): with open("student_advisees_testdata.csv",'r') as csv_file: reader = csv.reader(csv_file) next(reader) index = 0 newArray = Array(10) for line in reader: studentAttributes = Student(line[0],line[1],line[2],line[3],line[4],line[5],line[6],line[7]) newArray[index] = studentAttributes index += 1 return newArrayHere is my Student class (classStudent):
class Student(object): def __init__(self, Id, First_Name, Last_Name, Programe, Start_Date, Adv_Last_Name, Most_Recent, GPA): self.Id = Id self.First_Name = First_Name self.Last_Name = Last_Name self.Programe = Programe self.Start_Date = Start_Date self.Adv_Last_Name = Adv_Last_Name self.Most_Recent = Most_Recent self.GPA = GPA def __str__(self): return str(self.Id) +" " + str(self.First_Name) + " " + str(self.Last_Name) + " " + str(self.Programe) + " " + str(self.Start_Date) + " " + str(self.Adv_Last_Name) + " " + str(self.Most_Recent) + " " + str(self.GPA)And here is my class Array(classArray)
class Array(object): """Represents an array.""" def __init__(self, capacity, fillValue = None): """Capacity is the static size of the array. fillValue is placed at each position.""" self._items = list() for count in range(capacity): self._items.append(fillValue) def __len__(self): """-> The capacity of the array.""" return len(self._items) def __str__(self): """-> The string representation of the array.""" return str(self._items) def __iter__(self): """Supports iteration over a view of an array.""" return iter(self._items) def __getitem__(self, index): """Subscript operator for access at index.""" return self._items[index] def __setitem__(self, index, newItem): """Subscript operator for replacement at index.""" self._items[index] = newItem