注册 登录
编程论坛 Python论坛

有人会写这个代码吗?求助求助

luoluo1 发布于 2022-10-16 20:25, 1296 次点击
编写一个学生类student,定义3个属性name,age,id,分别表示学生的姓名、年龄和学号。第一个学生的学号为1,每生成一个学生对象,学号加1。初始化学生对象时,需要提供姓名和年龄。每个学生对象生成后需要调用自己的info()方法输出姓名、年龄和学号。
6 回复
#2
luoluo12022-10-16 22:11
回复 楼主 luoluo1
有没有会用python写这个题的,小白在线求解
#3
luoluo12022-10-16 23:36
stu_list = []
class student(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def get_name(self):
        return self.name
    def get_age(self):
        return self.age

    def get_stu(self):
        for i, item in enumerate(stu_list):
            id = i + 1
            name = item[0]
            age=stu_list[i][1]
            print("姓名:", name, "年龄:", age, "学号:", id, )


def get():
    while True:
        a=student(input("姓名:"),eval(input("年龄:")))
        m=a.get_name()
        n=a.get_age()
        print(m)
        c=stu_list.append((m,n))
        print(stu_list)
        b=input("是否继续进行:Y/N")
        student.get_stu(c)
        if b=='b':
            break
get()



写成这样,这题有其他的写法吗,在线求助在线求助



[此贴子已经被作者于2022-10-17 13:21编辑过]

#4
厨师王德榜2022-10-17 16:55
程序代码:
class student:
    def __init__(self, nm,ag):
        self.name=nm
        self.age = ag
        self.id = gid[0]
        gid[0] =gid[0] + 1

    def info(self):
        print(self.id, self.name, self.age)


gid = [0]
gid[0] = 1

if __name__ == "__main__":

    print('开始测试...')
    print('学号|姓名 |年龄...')
    st1 = student('贾宝玉', 15)
    st1.info()
   
    st2 = student('林黛玉', 14)
    st2.info()
   
    st3 = student('薛宝钗', 15)
    st3.info()  
#5
luoluo12022-10-17 17:39
回复 4楼 厨师王德榜
谢谢谢谢
#6
sssooosss2022-10-20 10:14
共同学习
#7
风卷浪起2022-11-06 20:10
共同进步
1