执行此操作时出现语法错误:
p = []
def proc(n):
for i in range(0,n):
C = i
global p.append(C)
答案 0 :(得分:11)
只需将其更改为以下内容:
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
如果没有上述函数中的全局语句,这只会在函数中创建一个局部变量,而不是修改全局变量的值。
答案 1 :(得分:0)
问题是你试图直接打印列表而不是在打印前转换成字符串,并且由于数组是Student类的成员,你需要使用'self'来引用它。
以下代码有效:
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")