威士忌的碎冰163 2022-05-21 16:59 采纳率: 100%
浏览 23
已结题

python用lambda 和map求平均分

我想在最后加一条代码,求他们的平均分,要用到lambda和map,或者在原来代码里加入lambda和map用法,请问怎么做呢?
class Student(object):
    def __init__(self, stu_name, stu_age, stu_gender, stu_score):
        self.stu_name = stu_name
        self.stu_age = stu_age
        self.stu_gender = stu_gender
        self.stu_score = stu_score

    def show(self):
        print(self.stu_name, self.stu_age, self.stu_gender, self.stu_score)


if __name__ == '__main__':
    print('请输入五位学生的信息:(姓名#年龄#性别#成绩)')
    lst = []
    for i in range(0, 5):
        s = input(f'请输入第{i + 1}位学员的信息和成绩')
        s_lst = s.strip('#')
        print(s_lst)
        # 创建学生对象
    stu = Student(s_lst[0], int(s_lst[1]), s_lst[2], float(s_lst[3]))
    lst.append(stu)
    # 遍历简历
    for item in lst:
        item.show()

# 求平均分

  • 写回答

2条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-21 21:16
    关注

    lambda和map求平均分:

    sum(map(lambda x:x.stu_score, stu))/len(stu)
    

    另外你的17行,代码要用split()函数,不是用strip()

    class Student(object):
        def __init__(self, stu_name, stu_age, stu_gender, stu_score):
            self.stu_name = stu_name
            self.stu_age = stu_age
            self.stu_gender = stu_gender
            self.stu_score = stu_score
     
        def show(self):
            print(self.stu_name, self.stu_age, self.stu_gender, self.stu_score)
     
     
    if __name__ == '__main__':
        print('请输入五位学生的信息:(姓名#年龄#性别#成绩)')
        lst = []
        for i in range(0, 5):
            s = input(f'请输入第{i + 1}位学员的信息和成绩')
            s_lst = s.split('#')
            print(s_lst)
            # 创建学生对象
            stu = Student(s_lst[0], int(s_lst[1]), s_lst[2], float(s_lst[3]))
            lst.append(stu)
    
        # 遍历简历
        for item in lst:
            item.show()
     
        # 求平均分
        average = sum(map(lambda x:x.stu_score, lst))/len(lst)
        print('平均分:',average)
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?