运行Python程序后没有输出

3
我需要写一个名为Employee的类,保存姓名、工资和从业年限的数据。它可以计算员工退休后每月领取的养老金,并显示Employee对象的三个实例变量。同时,它还调用Employee对象的pension方法来计算此员工的每月养老金支出,并将其显示出来。 但是,我在运行程序后没有得到任何输出,这就是具体的问题。 我应该得到像这样的输出:
Name: Joe Chen
Salary: 80000
Years of service: 30
Monthly pension payout: 3600.0

Process finished with exit code 0

这里是完整的代码。
class Employee:


    # init method implementation
    def __init__(self, EmpName, EmpSalary, EmpYos):
        self.EmpName = EmpName
        self.EmpSalary = EmpSalary
        self.EmpYos = EmpYos

    def displayEmployeeDetails(self):
        print "\nName ", self.EmpName,

    # defines the salary details
    def displaySalary(self):
        print "\nSalary", self.EmpSalary

    # defines the years of service
    def displayYoservice(self):
        print "\nYears of Service", self.EmpYos

    # defines pension
    def MonthlypensionPayout(self):
        print "\nMonthly Pension Payout:", self.EmpSalary * self.EmpYos * 0.0015


def main():


    # creates instance for employee 1
    Emplo1 = Employee("Joe Chen", 80000, 30)
    # creates instance for employee 2
    Emplo2 = Employee("Jean park", 60000, 25)

    # Function calls
    Emplo1.displayEmployeeDetails()
    Emplo1.displaySalary()
    Emplo1.displayYoservice()
    Emplo1.MonthlypensionPayout()
    # function calls
    Emplo2.displayEmployeeDetails()
    Emplo2.displaySalary()
    Emplo2.displayYoservice()
    Emplo2.MonthlypensionPayout()

main()

你的 Python 版本是什么? - Exprator
移除 def main: 和 main() - Exprator
@Exprator 我认为Python的版本是2,因为他打印时没有加括号。 - R. Gadeev
你确定Employee类的方法是缩进还是在最左边?如果是后者,那么这些方法不属于Employee类。 - derfium
另外,在displayEmployeeDetails方法中,您在末尾有一个“,”。不确定它是否应该在那里。 - derfium
@R.Gadeev:由于原帖没有任何输出,甚至没有空行,我建议这是Python3。 - Daniel
1个回答

5
您只是在打印一个空行。请将您的函数更改为以下内容:
def displayEmployeeDetails(self):

  print \
  "\nName ", self.EmpName

# defines the salary details
def displaySalary(self):


 print \
 "\nSalary", self.EmpSalary

# defines the years of service
def displayYoservice(self):


 print \
 "\nYears of Service", self.EmpYos

在Python中,\表示换行续行符。最好将代码都放在同一行,如下所示:
def displayEmployeeDetails(self):

  print "\nName ", self.EmpName

# defines the salary details
def displaySalary(self):


 print "\nSalary", self.EmpSalary

# defines the years of service
def displayYoservice(self):


 print "\nYears of Service", self.EmpYos

请查看演示

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接