python局部变量已发送到函数,已修改,但未传递回程序

python局部变量已发送到函数,已修改,但未传递回程序,python,function,Python,Function,我正在为一个班级编写一个程序,我们被要求编写一个我们自己独特的程序。我决定做一个,根据用户100分的平均分来确定用户的字母等级。 我的问题是,我将我的等级计数器传递给了我的函数,但当我试图返回它时,它仍然是我定义它的起始值 #4. Increment grade count by 1 Gather_Intel(grade_list, grade_count) print (grade_list, grade_count) def Gather_Intel(GL, GC): g = 0

我正在为一个班级编写一个程序,我们被要求编写一个我们自己独特的程序。我决定做一个,根据用户100分的平均分来确定用户的字母等级。 我的问题是,我将我的等级计数器传递给了我的函数,但当我试图返回它时,它仍然是我定义它的起始值

#4. Increment grade count by 1
Gather_Intel(grade_list, grade_count)
print (grade_list, grade_count)

def Gather_Intel(GL, GC):
    g = 0
    while g >= 0:
        g = int(input("Please input a grade (-1 to quit): "))
        GL.append(g)
        GC = GC + 1
    GL.sort
    GL.remove(-1)
    return GL, GC

是否有我没有看到的东西?

您忘记重新分配返回值:

grade_list, grade_count = Gather_Intel(grade_list, grade_count)

函数确实会返回这些值,但如果不将这些返回值赋给某个对象,则实际上忽略了结果。

还有一件事您没有看到<代码>总帐。排序不起任何作用。您必须调用函数:
GL.sort()