2017-03-10 19 views
1
class Employee: 

    def set_name(self, name): 
     self.name = name 

    def set_IDnumber(self, IDnumber): 
     self.IDnumber = IDnumber 

    def set_department(self, deparment): 
     self.deparment = deparment 

    def set_jobTitle(self, jobTitle): 
     self.jobTitle = jobTitle 

    def get_name(self): 
     # Returns name 
     return self.name 

    def get_IDnumber(self): 
     # Returns IDnumber 
     return self.IDnumber 

    def get_department(self): 
     # Returns department 
     return self.department 

    def get_jobTitle(self): 
     # Returns job title 
     return self.jobTitle 

def make_list(): 
    employee_list = [] 
    print("Enter data for 3 employees") 
    for i in range(1, 4): 
     print('Employee ' + str(i)) 
     name = input('Enter employee name: ') 
     idNumber = int(input('Enter employee ID number: ')) 
     department = input('Enter employee department: ') 
     jobTitle = input('Enter job title: ') 
     employee = Employee() 
     employee.set_name(name) 
     employee.set_IDnumber(idNumber) 
     employee.set_department(department) 
     employee.set_jobTitle(jobTitle) 
     employee_list.append(employee) 
     print(i) 
     return employee_list 


def main(): 
    make_list() 

main() 

程序運行良好。然而,我遇到的問題是程序在循環迭代一次後停止,因此我只能輸入一個員工的信息。任何人都可以告訴我爲什麼它只爲3名員工迭代一次而不是3次?萬分感謝。循環將不會在python程序中執行

+0

我們應該編輯行「return employee_list」的縮進。這是每個循環執行後返回的那個。 – MSD

回答

0

問題出在return語句。 return語句在循環內部,它應該在循環之外。

Make_list函數應替換爲以下代碼。

def make_list(): 
    employee_list = [] 
    print("Enter data for 3 employees") 
    for i in range(1, 4): 
     print('Employee ' + str(i)) 
     name = input('Enter employee name: ') 
     idNumber = int(input('Enter employee ID number: ')) 
     department = input('Enter employee department: ') 
     jobTitle = input('Enter job title: ') 
     employee = Employee() 
     employee.set_name(name) 
     employee.set_IDnumber(idNumber) 
     employee.set_department(department) 
     employee.set_jobTitle(jobTitle) 
     employee_list.append(employee) 
     print(i) 
    return employee_list 
+0

現在我覺得自己像個白癡。非常感謝。 –