Присвоение значений переменных оператору if - PullRequest
0 голосов
/ 24 декабря 2018
if GPA == unweighted:
A+ = 4.33
A = 4
A- = 3.67
B+ = 3.33
B = 3.0
value1 = credits*grade1

Хорошо, поэтому я пытаюсь присвоить эти числовые значения этим переменным, если оператор if истинен, но когда я запускаю программу, она говорит, что есть синтаксическая ошибка.Может кто-нибудь помочь мне исправить это?Благодаря.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Почему бы не использовать словарь?Вы можете хранить взвешенные и невзвешенные шкалы оценок, используя оценки в качестве ключей.

gpa = {
    'unweighted':
        {
        'A+' : 4.33,
        'A'  : 4,
        'A-' : 3.67,
        'B+' : 3.33,
        'B'  : 3.0,
        'B-' : 2.67
        },
    'weighted':
        {
        'A+' : 4.67,
        'A'  : 4.3
        }
    }
0 голосов
/ 24 декабря 2018

Вы не можете использовать операторы как часть идентификаторов для ваших переменных.Полное объяснение в Документах Python об идентификаторах

Интерпретатор Python идентифицирует + и - как фактический код для выполнения, а не как часть имен переменных, таких как A+.

В Python, как и в других языках программирования, единственными допустимыми символами для идентификаторов переменных являются буквы (a-z, A-Z), цифры (0-9) и подчеркивание (_).Хотя имейте в виду, есть дополнительное правило, которое указывает, что вы не можете начинать идентификатор с числа.В дополнение к этому, в Python 3 (через PEP 3131 ) была добавлена ​​поддержка не-ASCII символов, что означает, что вы даже можете писать свои переменные на русском языке (картофель = 10).

Я быпереименуйте эти переменные в a_plus, a_minus o b_plus.

...