You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python自定义Employee类计算并输出员工薪资总和?

解决方案

你的代码需要两处关键调整才能实现薪资总和计算:

  • 薪资输入未转为数值类型(input()默认返回字符串,直接赋值会导致无法进行数值累加)
  • 缺少薪资总和的计算与输出逻辑

修改后的完整代码

class Employee :
    empid = 0
    name = None
    salary = 0.0
    def getInput(self) :
        print("Enter the empid :: ", end ="")
        self.empid = input()
        print("Enter the name :: ", end ="")
        self.name = input()
        print("Enter the salary :: ", end ="")
        # 将输入的薪资转为浮点型,支持数值计算
        self.salary = float(input())
    def display(self) :
        print("Employee id = " + str(self.empid))
        print("Employee name = " + self.name)
        print("Employee salary = " + str(self.salary))
    def main( args) :
        e = [None] * (3)
        i = 0
        while (i < 3) :
            e[i] = Employee()
            e[i].getInput()
            i += 1
        print("**** Data Entered as below ****")
        i = 0
        while (i < 3) :
            e[i].display()
            i += 1
        # 计算并输出所有员工薪资总和
        total_salary = 0.0
        for emp in e:
            total_salary += emp.salary
        print(f"**** Total Salary of All Employees: {total_salary} ****")
 
if __name__=="__main__":
    Employee.main([])

核心修改说明

  1. 薪资类型转换:在getInput方法中,把self.salary = input()改为self.salary = float(input()),确保薪资是浮点型数值,能正常参与加法运算。
  2. 总和计算逻辑:遍历员工列表,累加每个员工的salary属性得到总和,最后用格式化字符串输出结果。

内容的提问来源于stack exchange,提问作者Dishant Kumar Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:05:20