【问题标题】:Assigning variable values to if statement将变量值分配给 if 语句
【发布时间】:2018-12-24 01:20:39
【问题描述】:
if GPA == unweighted:
A+ = 4.33
A = 4
A- = 3.67
B+ = 3.33
B = 3.0
value1 = credits*grade1

好的,如果 if 语句为真,我会尝试将这些数字值分配给这些变量,但是当我运行程序时,它说存在语法错误。有人可以帮我解决这个问题吗?谢谢。

【问题讨论】:

标签: python python-3.x variables if-statement assign


【解决方案1】:

您不能将运算符用作变量标识符的一部分。完整的解释在Python docs about identifiers

Python 解释器会将+- 识别为要执行的实际代码,而不是像A+ 这样的变量名称的一部分。

在 Python 和其他编程语言中,变量标识符唯一允许的字符是字母(a-zA-Z)、数字(0-9)和下划线(_)。尽管请记住,有一条额外的规则指定您也不能以数字开头的标识符。除此之外,在 Python 3(通过PEP 3131)中添加了对非 ASCII 字符的支持,这意味着您甚至可以用俄语 (картофель = 10) 编写变量。

我会将这些变量重命名为a_plusa_minus o b_plus

【讨论】:

  • 您能否详细说明您的意思?
  • @BruhKey:根据python中变量名的有效语法,变量名中不能使用+、-、/、*、^、=等算术运算符。
  • 在定义变量时,您在变量标识符(“名称”)中使用像 - (减号用于减法)这样的运算符,例如在A-。这在 python 语法中是不可能的。
【解决方案2】:

为什么不使用字典?您可以存储加权和未加权的成绩等级,并将成绩作为键。

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
        }
    }

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2021-02-02
    • 2017-01-07
    • 2021-04-16
    • 2019-09-06
    • 2016-02-08
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    相关资源
    最近更新 更多