Ok, i know this topic has been addressed several times, but none of what i seen is helping me. I'm getting the error in the title and i'm not sure how to fix the error. Here is my code:
def loadRecords():
f = open("stu.txt", "r")
students = f.readlines()
f.close()
return students
def addStudent():
n = input("Enter student's name: ")
ex1 = input("Enter Exam 1 grade: ")
ex2 = input("Enter Exam 2 grade: ")
ex3 = input("Enter Exam 3 grade: ")
return n + " " + ex1 + " " + ex2 + " " + ex3 + "
"
def displayStudents(students):
for record in students:
n, ex1, ex2, ex3 = record.split(",")
ex1 = int(ex1)
ex2 = int(ex2)
ex3 = int(ex3)
print("%-10s %5s %5s %5s" % (n, ex1, ex2, ex3))
def displayAvg(students):
n = 1
for record in students:
n, ex1, ex2, ex3 = record.split(",")
ex1 = int(ex1)
ex2 = int(ex2)
ex3 = int(ex3)
avg = (ex1 + ex2 + ex3) / 3
print("%-10s %5s" % (n, round(avg, 1)))
n += 1
def saveRecords(students):
f = open("stu.txt", "w")
f.writelines(students)
f.close
def main():
students = loadRecords()
while True:
print("""
Program Options.
1.) Display all contacts
2.) Create new contact
3.) Display Averages
4.) Save and exit
""")
option = input("Enter 1, 2, or 3: ")
print()
if option == "1":
displayStudents(students)
elif option == "2":
newRecord = addStudent()
students.append(newRecord)
elif option == "3":
displayAvg(students)
elif option == "4":
saveRecords(students)
break
else:
print("Not happening")
main()
Here is the error recieved:
Traceback (most recent call last):
File "C:/Python33/Program 4/pro4.py", line 65, in <module>
main()
File "C:/Python33/Program 4/pro4.py", line 53, in main
displayStudents(students)
File "C:/Python33/Program 4/pro4.py", line 16, in displayStudents
n, ex1, ex2, ex3 = record.split(",")
ValueError: need more than 1 value to unpack
Here is the file I am using, use notepad if you want to run the code.
sam wilson,98,80,73
sue green,92,98,74
sue adams,89,89,92
ron harris,90,87,100
linda tyler,76,72,88
dave smith,72,91,75
steve davis,88,92,84
See Question&Answers more detail:
os