随机生成300个包含name、age和salary的职工信息,打印出50岁以上(含)并且年薪10万以上的职工信息。 要求: (1)name(姓名)从附件name.txt里随机选取。 (2)age(年龄)随机生成,取值范围为[18,60]。年龄必须为整数。 (3)salary(每月工资)随机生成,取值范围为[1800.00,20000.00],小数点后保留2位。
时间: 2024-01-16 12:04:11 浏览: 59
c++ 职工信息表 运行版
好的,我可以帮你解决这个问题。
以下是Python代码实现:
```python
import random
# 从文件中读取姓名列表
with open('name.txt', 'r', encoding='utf-8') as f:
name_list = [name.strip() for name in f.readlines()]
# 随机生成300个职工信息
staff_list = []
for i in range(300):
name = random.choice(name_list)
age = random.randint(18, 60)
salary = round(random.uniform(1800, 20000), 2)
staff_list.append({'name': name, 'age': age, 'salary': salary})
# 打印出50岁以上并且年薪10万以上的职工信息
for staff in staff_list:
if staff['age'] >= 50 and staff['salary'] >= 100000:
print(staff)
```
这段代码中,首先我们从文件中读取了姓名列表,然后使用`random.choice()`函数从中随机选择一个姓名。接着使用`random.randint()`函数和`random.uniform()`函数分别随机生成年龄和工资,并将这些信息存储在一个字典中。最后,我们遍历这些职工信息,找出50岁以上并且年薪10万以上的职工信息并打印输出。
希望能够帮到你!
阅读全文