2017-03-10 17 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() 

プログラムはうまく動作します。しかし、私が取り組んでいる問題は、ループの1回の繰り返し後にプログラムが停止するため、1人の従業員の情報しか入力できないということです。誰も3人の従業員のために3回ではなく1回だけ反復する理由を教えてください。ありがとう、トン。ループは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

今私は馬鹿のように感じる。どうもありがとうございます。 –

関連する問題