Hjälp med felmeddelande Python
Hej!
Är relativt ny inom programmering men särskilt inom Python.
Jag har skrivit ett program som funkar som klockan men sen ville jag lägga till en liten funktion men får bara ett felmeddelande hur jag än gör... jag har googlat och testat och ändrat här och där men hur jag än försöker så gör den inte som jag vill.
Det värsta är att jag tror att det är ett ytterst pinsamt enkelt fel men jag är inte så bra på felhantering ännu så jag känner mig lite vilsen.
Felet jag får är "Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
Yes
NameError: name 'Yes' is not defined"
Jag försöker lägga till en while loop som ska köra programmet om igen om användaren svarar "Yes" på en fråga som ställts längst ner.
#funktions sektionen
def grade_to_number(letter_grade):
if letter_grade == "IG":
return 0
elif letter_grade == "G":
return 1
elif letter_grade == "VG":
return 3
else:
return 5
def read_grades():
"Read grades 5 times and return number grades"
grades = []
for course_number in range(1,6):
letter_grade = input("What grade did the student get for course number " + str(course_number) + "? ")
number_grade = grade_to_number(letter_grade)
grades.append(number_grade)
return grades
def average(grades):
return sum(grades) / len(grades)
# main sektionen av programmet
question = "Yes"
while question == True:
current_year = 1
while current_year <= 3:
print("Please input student´s grades for year " + str(current_year))
grades = read_grades()
avg = average(grades)
print("This is the average grade for this year " + str(avg))
if avg < 1:
print("Student must repeat year " + str(current_year))
else:
if avg == 5:
print("Student gets a gold star for year " + str(current_year))
print("Student passes year " + str(current_year))
current_year = current_year + 1
question = print ("Do you want to start over with a new student(Yes/No)?")