创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不允许出现同工号的员工。
时间: 2024-05-02 09:23:28 浏览: 158
可以使用Python中的set集合来储存员工信息,每个员工信息可以用一个字典来表示,其中工号作为字典的键,其他信息作为键对应的值。当添加新员工时,先检查集合中是否已存在该工号,如果不存在,则将该员工信息添加到集合中。
以下是示例代码:
```python
employee_set = set()
def add_employee(emp_id, name, age, salary):
employee = {'工号': emp_id, '姓名': name, '年龄': age, '工资': salary}
if emp_id not in employee_set:
employee_set.add(emp_id)
print('添加成功!')
else:
print('工号已存在,添加失败!')
# 测试
add_employee('001', '张三', 25, 5000)
add_employee('002', '李四', 30, 8000)
add_employee('001', '王五', 28, 6000) # 工号已存在,添加失败!
print(employee_set)
```
运行结果:
```
添加成功!
添加成功!
工号已存在,添加失败!
{'002', '001'}
```
可以看到,集合中成功储存了两个员工信息,其中工号为'001'的员工信息未被重复添加。
相关问题
怎么创创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不允许出现同工号的员工
你可以使用Python中的集合(set)来储存员工信息,并使用字典(dict)来表示每个员工的工号、姓名、年龄、工资等信息。具体的代码实现如下:
```python
# 创建一个空集合
employee_set = set()
# 添加员工信息
def add_employee(employee_id, name, age, salary):
# 判断员工是否已存在
for employee in employee_set:
if employee['employee_id'] == employee_id:
print('员工已存在')
return
# 创建新员工信息字典
new_employee = {'employee_id': employee_id, 'name': name, 'age': age, 'salary': salary}
# 将新员工信息添加到集合中
employee_set.add(new_employee)
print('员工添加成功')
# 测试代码
add_employee('001', '张三', 25, 5000)
add_employee('002', '李四', 30, 8000)
add_employee('001', '王五', 28, 6000) # 这里会提示员工已存在
```
在上面的代码中,我们首先创建了一个空集合employee_set来储存员工信息。然后定义了一个add_employee函数来添加员工信息。在添加之前,我们先遍历集合中的所有员工信息,判断是否已存在同工号的员工。如果存在,则直接返回,否则创建一个新的员工信息字典,并将其添加到集合中。
最后,我们对代码进行了简单的测试,添加了两个员工信息,其中一个员工的工号与已有员工相同,导致添加失败。
. 创建一个集合储存员工信息,员工信息包括工号、姓名、年龄、工资等。要求员工信息中不允许出现同工号的员工。java
可以使用Java中的HashMap来储存员工信息,其中以工号作为键值,员工信息作为值。如果同一工号的员工再次添加到HashMap中,则会覆盖之前的员工信息。以下是一个简单的实现:
```java
import java.util.HashMap;
public class Employee {
private int id;
private String name;
private int age;
private double salary;
public Employee(int id, String name, int age, double salary) {
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
public static void main(String[] args) {
HashMap<Integer, Employee> employeeMap = new HashMap<Integer, Employee>();
// 添加员工信息
Employee e1 = new Employee(1001, "张三", 25, 5000.00);
employeeMap.put(e1.getId(), e1);
Employee e2 = new Employee(1002, "李四", 28, 6000.00);
employeeMap.put(e2.getId(), e2);
Employee e3 = new Employee(1001, "王五", 30, 8000.00); // 重复的工号
employeeMap.put(e3.getId(), e3);
// 遍历员工信息
for (Employee e : employeeMap.values()) {
System.out.println("工号:" + e.getId() + ",姓名:" + e.getName() + ",年龄:" + e.getAge() + ",工资:" + e.getSalary());
}
}
}
```
输出结果:
```
工号:1001,姓名:王五,年龄:30,工资:8000.0
工号:1002,姓名:李四,年龄:28,工资:6000.0
```
可以看到,重复的工号被覆盖了。
阅读全文