Я работаю над калькулятором GPA, чтобы познакомиться с питоном / программированием. У меня это работает, когда есть вход для каждого класса. Однако я не уверен, как заставить переменную быть пропущенной, если ничего не введено для баллов / оценок классов, или заставить ее действовать как пустое число.
Я попытался добавить пустую строку в словарь и установить ее равной None, но все равно получаю ошибку.
grades = {
'A+' : 4.00,
'A' : 4.00,
'A-' : 3.67,
'B+' : 3.33,
'B' : 3.00,
'B-' : 2.67,
'C+' : 2.33,
'C' : 2.0,
'C-' : 1.67,
'D+' : 1.33,
'D' : 1.0,
'F' : 0.0,
}
grd_num = []
cred = []
grd_num.append(grades[input('Enter the letter grade for your first class\n')])
cred.append(float(input('Enter the amount of credits that your first class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your second class\n')])
cred.append(float(input('Enter the amount of credits that your second class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your third class\n')])
cred.append(float(input('Enter the amount of credits that your third class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your fourth class\n')])
cred.append(float(input('Enter the amount of credits that your fourth class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your fith class\n')])
cred.append(float(input('Enter the amount of credits that your fith class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your sixth class\n')])
cred.append(float(input('Enter the amount of credits that your sixth class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your seventh class\n')])
cred.append(float(input('Enter the amount of credits that your seventh class is worth\n')))
grd_num.append(grades[input('Enter the letter grade for your eighth class\n')])
cred.append(float(input('Enter the amount of credits that your eighth class is worth\n')))
totGPA = ((grd_num[0] * cred[0]) + (grd_num[1] * cred[1]) + (grd_num[2] * cred[2]) + (grd_num[3] * cred[3]) + (grd_num[4] * cred[4]) + (grd_num[5] * cred[5]) + (grd_num[6] * cred[6]) + (grd_num[7] * cred[7]))/sum(cred)
print(totGPA)
Я хочу, чтобы пользователи имели возможность вводить столько классов, сколько они хотят, от 1 до 8. Прямо сейчас, пользователь может только ввести 8 классов без ошибок.