如何在课堂上使用循环用于用户输入?

时间:2017-03-30 12:57:25

标签: python

我通过提供预先定义的输入,使用类创建了员工详细信息。我无法将结果存储到词典中。我需要把它写成csv。如果你能帮助我,我会很感激,因为我是python的新手

以下是我的代码:

在类中使用循环是否正确?

class Employee():
    def main(self,name,idno,position,salary):

        self.name=name
        self.idno=idno
        self.position=position
        self.salary = salary

    def input(self):
        n=int(raw_input("Enter the number of employees:"))
        for i in range(n):
            self.name=raw_input("Name:")
            self.idno=raw_input("Idno:")
            self.position=raw_input("position:")
            self.salary=raw_input("salary:")

            print("Name:", self.name, "Idno:", self.idno, "position:", self.position,
                  "salary:", self.salary)

if __name__=='__main__':
        result=Employee()
        result.input()

2 个答案:

答案 0 :(得分:0)

首先,我不认为你上课会像你想要的那样工作。由于您经常覆盖类变量,因此输入多个员工是没有意义的,因为该类目前只能保存一个员工的信息。我会考虑将员工保存为dictionarys,并将这些词典保存为员工班级的列表。

class Employees():
    all_employees = [{...}, {...}]
    dict_keys = ["name", "idno", "position",...]
    def input(self):
        counter = 0
        n = input("Number of employees: ")
        while counter < n:
            new_employee = dict()
            for key in dict_keys:
                new_employee[key] = raw_input("{}: ".format(key))
            all_employees.append(new_employee)

if __name__ == "__main__":
    e = Employees()
    e.input()

答案 1 :(得分:0)

这说明了我在关于在课程外使用<{1}}循环 的评论中所说的内容:

for