录入学生信息 怎么求啊

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
class student:
    def __init__(self,name,age,add):
        self.name=name
        self.age=age
        self.add=add
    def printinfo(self):
        print('姓名: ,年龄: ,地址:'.format(self.name,self.age,self.add))
        l={}
for i in range(5):
    name=input('请输入姓名:')
    age=input('请输入年龄:')
    add=input('请输入地址:')
    l[i]=student(name,age,add)
    print("学生{i}的信息录入完成,信息为 ",end='')
    l[i].print()这个程序怎么修改,报错显示没有定义列表l

错误地方有几个:

  1. 列表l的定义位置应该是全局的,比应该缩进,并且l应该是列表,不应该是字典;
  2. 向列表中添加数据需要用append()函数
  3. 字符串格式化输出写的也不对。

我帮你都改正了,代码见下面,供你参考。如果对你有帮助,记得采纳。

class student:
    def __init__(self, name, age, add):
        self.name = name
        self.age = age
        self.add = add

    def printinfo(self):
        print('姓名:{0} ,年龄:{1} ,地址:{2}'.format(self.name, self.age, self.add))


l = []

for i in range(5):
    name = input('请输入姓名:')
    age = input('请输入年龄:')
    add = input('请输入地址:')
    l.append(student(name, age, add))
    print(f"学生{i}的信息录入完成,信息为 ", end='')
    l[i].printinfo()