fork download
  1. #Team class definition
  2.  
  3. class Team:
  4.  
  5. #initializing object
  6.  
  7. def __init__(self, name, phone, jersey):
  8.  
  9. self.__name = name
  10.  
  11. self.__phone = phone
  12.  
  13. self.__jersey = jersey
  14.  
  15.  
  16. #mutator methods
  17.  
  18. def setname(self, name):
  19.  
  20. self.__name = name
  21.  
  22. def setphone(self, phone):
  23.  
  24. self.__phone = phone
  25.  
  26. def setjersey(self, jersey):
  27.  
  28. self.__jersey = jersey
  29.  
  30.  
  31.  
  32. #accessor methods
  33.  
  34. def getname(self):
  35.  
  36. return self.__name
  37.  
  38. def getphone(self):
  39.  
  40. return self.__phone
  41.  
  42. def getjersey(self):
  43.  
  44. return self.__jersey
  45.  
  46.  
  47. #display template for output
  48. def displayData(self):
  49.  
  50. print("")
  51.  
  52. print("Team information: ")
  53.  
  54. print("------------------------")
  55.  
  56. print("Member's Name:", self.__name)
  57.  
  58. print("Phone Number:", self.__phone)
  59.  
  60. print("Jersey Number:", self.__jersey)
  61.  
  62.  
  63.  
  64.  
  65. # program functions and import data
  66.  
  67. #import team
  68.  
  69.  
  70. def displayMenu():
  71. print("===========Main Menu===========")
  72.  
  73. print("1. Team Roster.")
  74.  
  75. print("2. Add Member.")
  76.  
  77. print("3. Remove Member.")
  78.  
  79. print("4. Edit Member.")
  80.  
  81. print("5. Save Data.")
  82.  
  83. print("6. Load Data.")
  84.  
  85. print("9. Exit Program.")
  86.  
  87. print("")
  88.  
  89. return int(input("Selection> "))
  90.  
  91. def printMember(members):
  92. if len(members) == 0:
  93.  
  94. print("No members in roster yet.")
  95.  
  96. else:
  97.  
  98. for x in members.keys():
  99. members[x].displayData()
  100.  
  101. def addMember(members):
  102. newName = input("Enter new member's name: ")
  103.  
  104. newPhone = int(input("Enter member's phone number: "))
  105.  
  106. newJersey = input("Enter member's jersey number: ")
  107.  
  108. members[newName] = team.Team(newName, newPhone, newJersey)
  109.  
  110. return members
  111.  
  112. def removeMember(members):
  113. removeName = input("Enter the member's name you wish to remove: ")
  114.  
  115. if removeName in members:
  116.  
  117. del members[removeName]
  118.  
  119. print("\nYou've removed ", removeName)
  120.  
  121. else:
  122.  
  123. print("This name is not in our records.")
  124.  
  125. return members
  126.  
  127. def editMember(members):
  128.  
  129. oldName = input("Enter the name of the member you want to edit: ")
  130.  
  131. if oldName in members:
  132.  
  133. newName = input("Enter the member's new name: ")
  134.  
  135. newPhone = int(input("Enter the member's new phone number: "))
  136.  
  137. newJersey = input("Enter the member's new jersey number: ")
  138.  
  139. members[oldName] = team.Team(newName, newPhone, newJersey)
  140.  
  141. else:
  142.  
  143. print("Member does not exist")
  144.  
  145. return members
  146.  
  147. def saveData(members):
  148.  
  149. filename = input("Filename to save: ")
  150.  
  151. print("Saving data...")
  152.  
  153. outFile = open(filename, "wt")
  154.  
  155. for x in members.keys():
  156.  
  157. name = members[x].getname()
  158.  
  159. phone = str(members[x].getphone())
  160.  
  161. jersey = members[x].getjersey()
  162.  
  163. outFile.write(name + "," + phone + "," + jersey + "\n")
  164.  
  165. print("Data saved.")
  166.  
  167. outFile.close()
  168.  
  169. def loadData():
  170.  
  171. members = {}
  172.  
  173. filename = input("Filename to load: ")
  174.  
  175. inFile = open(filename, "rt")
  176.  
  177. print("Loading data...")
  178.  
  179. while True:
  180.  
  181. # read in a line of text from the text file
  182.  
  183. inLine = inFile.readline()
  184.  
  185. # if line is empty, stop loading data.
  186.  
  187. if not inLine:
  188.  
  189. break
  190.  
  191. inLine = inLine[:-1]
  192.  
  193. name, phone, jersey = inLine.split(",")
  194.  
  195. members[name] = team.Team(name, phone, jersey)
  196.  
  197. print("Data Loaded Successfully.")
  198.  
  199. inFile.close()
  200.  
  201. return members
  202.  
  203. # Running the program
  204.  
  205. print("Welcome to the Team Manager")
  206.  
  207. members = {}
  208.  
  209. menuSelection = displayMenu()
  210.  
  211. while menuSelection != 9:
  212.  
  213. if menuSelection == 1:
  214.  
  215. printMember(members)
  216.  
  217.  
  218. elif menuSelection == 2:
  219.  
  220. members = addMember(members)
  221.  
  222.  
  223. elif menuSelection == 3:
  224.  
  225. members = removeMember(members)
  226.  
  227.  
  228. elif menuSelection == 4:
  229.  
  230. members = editMember(members)
  231.  
  232. elif menuSelection == 5:
  233.  
  234. filename = saveData(members)
  235.  
  236. elif menuSelection == 6:
  237.  
  238. filename = loadData()
  239.  
  240. menuSelection = displayMenu()
  241.  
  242. print("Exiting Program...")
Runtime error #stdin #stdout #stderr 0.01s 47720KB
stdin
Standard input is empty
stdout
Welcome to the Team Manager
===========Main Menu===========
1. Team Roster.
2. Add Member.
3. Remove Member.
4. Edit Member.
5. Save Data.
6. Load Data.
9. Exit Program.

Selection> 
stderr
Traceback (most recent call last):
  File "<builtin>/app_main.py", line 75, in run_toplevel
  File "prog.py", line 209, in <module>
    menuSelection = displayMenu()
  File "prog.py", line 89, in displayMenu
    return int(input("Selection> "))
EOFError