Question: Hi, my Python program launches but gives a type error from my 'savedata' function (menu option #5). Thanks for your help class TeamClass: name=

Hi, my Python program launches but gives a type error from my 'savedata' function (menu option #5). Thanks for your help

Hi, my Python program launches but gives a type error from my

class TeamClass:

name= ""

jersey=""

number=""

def __init__ (self, name, jersey, number):

self.name=name

self.jersey=jersey

self.number=number

#Assignment Methods

def setname(self, name):

self.name=name

def setjersey(self, jersey):

self.jersey=jersey

def setnumber(self, number):

self.number=number

#Retrieval Methods

def getname(self):

return self.name

def getjersey(self):

return(self.jersey)

def getnumber(self):

return(self.number)

def display_member_list(self):

print("Player:")

print("Name:", self.name)

print("Jersey:", self.jersey)

print("Phone Number:", self.number)

print("-------------------")

print("Welcome to the Team Manager")

#Function with "Roster is empty" loop

def printMembers (memberList):

if len(memberList)>0:

print("The members list includes: ")

for j in memberList.keys():

memberList[j].display_member_list()

else:

print("Roster is empty")

def addMember(memberList):

new_member=input("Enter new member: ")

new_jersey=input("Enter jersey#: ")

new_number=input("Enter phone number: ")

memberList[new_member] = TeamClass(new_member, new_jersey, new_number)

def remove(memberList):

deleteItem=input("Enter the name of the member to remove: ")

if deleteItem in memberList:

del memberList[deleteItem]

print(deleteItem, "has been removed")

else:

print(deleteItem,"was not found in the list")

def editMember(memberList):

editName=input("Enter the name of the member to edit: ")

if editName in memberList:

new_member=input("Enter the new members name: ")

new_jersey=input("Enter new jersey#: ")

new_number=input("Enter new phone number:")

memberList[editName]=TeamClass(new_member, new_jersey, new_number)

print(editName, "has been changed to", new_member)

else:

print(editName, "Was not found in list")

return memberList

members= {}

def saveData(memberList):

print('This list will be saved in the file name memberList.txt')

filename="member.txt"

print('Saving data...')

outFile=open(filename,'wt')

for i in members.keys:

name=members[i].getmemberName()

phone=members[i].getphoneNumber()

jersey=members[i].getjerseyNumber()

outFile.write(name+","+phone+","+jersey+" ")

print("Data saved.")

outFile.close()

def loadData(memberList):

print("Filename to load: member.txt")

filename=input("Filename to load:")

inFile=open(filename,"rt")

print("Loading data...")

while True:

inLine=inFile.readline()

if not inLine:

break

inLine=inLine[:-1]

name, jersey,phone=inLine.split(",")

members=ClassMember(name, jersey, phone)

print("Data loaded Successfully.")

inFile.close()

return members

memberList=[]

def menu():

print(">>>>")

print("1.Display Team Roster.")

print("2.Add Team Member.")

print("3.Remove Team Member.")

print("4.Edit Team Member.")

print("5.Save Data.")

print("6.Load Data.")

print("9.Exit Program.")

selection =int( input("Selection: "))

return selection

memberList={}

selection=menu()

while selection != 9:

if selection==1:

printMembers(memberList)

elif selection ==2:

addMember(memberList)

elif selection ==3:

remove(memberList)

elif selection==4:

editMember(memberList)

elif selection==5:

saveData(memberList)

elif selection==6:

loadData(memberList)

else:

print("Please select a valid entry")

selection=menu()

5 G calculator - Goog How To Solve The How To Solve Any Current Dividerst Why NOBODY CC G Get Your Online C Repl.it - Onlir x Python: TypeError % GDB online Debu + - 0 X f = 0 https://repl.it/languages/Python3%3Flite=&classroom_template=&outputonly=8fileName=?lite=8.classroom_template=&outputonly=&fileName= Online Python compiler. Online Python IDE, and onlin.. Code Python, compile Python, run Python, and host your progr... save run share + new repl 88 talk Sign up Settings main.py B saved print(editName, "has been changed to", new_member) else: print(editName, "was not found in list"), return memberlist layout side-by-side theme Welcome to the Team Manager >>>> 1.Display Team Roster. 2.Add Team Member. 3. Remove Team Member. 4.Edit Team Member. 5.Save Data. 6.Load Data. 9.Exit Program. Selection: 1 Roster is empty

>>>> 1.Display Team Roster. 2.Add Team Member. 3.Remove Team Member. 4.Edit Team Member. 5.Save Data. 6.Load Data. 9.Exit Program. Selection: 5 This list will be saved in the file name memberlist.txt Saving data... Traceback (most recent call last): File "main.py", line 151, in saveData (memberlist) File "main.py", line 89, in saveData for i in members.keys: TypeError: 'builtin_function_or_method' object is not itera rable members= {} def saveData(memberlist): print('This list will be saved in the file name memberlist.txt'); filename="member.txt" print('Saving data...') outFileopen(filename, 'wt') for i in members.keys: name=members[i].getmemberName) phone=members[i].getphoneNumber() jersey=members[i].getjerseyNumber() outfile.write(name+", "+phone+","+jersey+" "); print("Data saved.") outfile.close() dark font size normal indent type def loadData(memberlist): print("Filename to load: member.txt") filename=input("Filename to load:") inFile=open(filename, "rt") print("Loading data...") spaces indent size while True: inline-inFile.readline) keybinds if not inline: break inline=inline[:-1] name, jersey,phone=inline.split(",") members=ClassMember(name, jersey, phone) print("Data loaded Successfully.") inFile.close() return members default

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!