10

执行此操作时出现语法错误:

p = []
def proc(n):
    for i in range(0,n):
        C = i
        global p.append(C)
4

2 回答 2

17

只需将其更改为以下内容:

def proc(n):
    for i in range(0,n):
        C = i
        p.append(C)

global语句只能在函数的最顶部使用,并且仅在分配给全局变量时才需要。如果您只是修改一个可变对象,则不需要使用它。

下面是一个正确用法的例子:

n = 0
def set_n(i):
    global n
    n = i

如果没有上述函数中的 global 语句,这只会在函数中创建一个局部变量,而不是修改全局变量的值。

于 2013-04-05T19:11:22.513 回答
0

问题是您尝试直接打印列表而不是在打印之前转换为字符串,并且由于数组是学生类的成员,因此您需要使用“自我”来引用它。

以下代码有效:

class Student:
    array = []
    def addstudent(self,studentName):
        print("New Student is added "+studentName)
        self.array.append(studentName)
        print(str(self.array))
    def removeStudent(self,studentName):
        print("Before Removing the Students from the  list are "+ str(self.array))
        self.array.remove(studentName)
        print("After Removing the students from the list are "+ str(self.array))
if __name__ == '__main__':
   studata = Student()
   studata.addstudent("Yogeeswar")
   studata.addstudent("Linga Amara")
   studata.addstudent("Mahanti")
   studata.removeStudent("Yogeeswar")
于 2017-06-23T10:23:22.920 回答