随机生成300个包含姓名、年龄和薪水的职工信息,打印出50岁以上(含)并且年薪10万以上的职工信息。要求: (1)name(姓名)从附件名称.txt里随机选取。(2)age(年龄)随机生成,取值范围为[18,60]。年龄必须为整数。(3)salary(每月工资)随机生成,取值范围为[1800.00,20000.00],小数点后保留2位。
时间: 2024-01-13 08:05:13 浏览: 75
好的,我来解答这个问题。首先,可以采用Python语言来实现这个功能。以下是实现代码:
```python
import random
# 读取姓名文件,生成姓名列表
with open('姓名.txt', 'r', encoding='utf-8') as f:
names = f.readlines()
# 生成职工信息
workers = []
for i in range(300):
name = random.choice(names).strip() # 随机选取一个姓名
age = random.randint(18, 60) # 随机生成年龄
salary = round(random.uniform(1800.00, 20000.00), 2) # 随机生成薪资,保留两位小数
workers.append({'name': name, 'age': age, 'salary': salary})
# 打印满足条件的职工信息
for worker in workers:
if worker['age'] >= 50 and worker['salary'] >= 100000.00:
print(worker)
```
这段代码首先读取了一个姓名文件,生成了一个姓名列表。然后通过循环生成300个职工信息,每个职工信息包含姓名、年龄和薪水。最后遍历所有职工信息,打印出满足条件的职工信息。
相关问题
随机生成300个包含name、age和salary的职工信息,打印出50岁以上(含)并且年薪10万以上的职工信息。
好的,以下是Python代码实现:
```python
import random
# 姓名列表
names = ["张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十", "郑十一", "冯十二"]
# 随机生成职工信息
employees = []
for i in range(300):
name = random.choice(names)
age = random.randint(20, 60)
salary = random.randint(80000, 120000)
employees.append({"name": name, "age": age, "salary": salary})
# 打印符合条件的职工信息
for employee in employees:
if employee["age"] >= 50 and employee["salary"] >= 100000:
print(employee)
```
运行结果类似于:
```
{'name': '张三', 'age': 52, 'salary': 101393}
{'name': '钱七', 'age': 56, 'salary': 105116}
{'name': '孙八', 'age': 55, 'salary': 102573}
{'name': '郑十一', 'age': 50, 'salary': 100662}
{'name': '冯十二', 'age': 56, 'salary': 111045}
...
```
python编程题,随机生成300个包含name、age和salary的职工信息,打印出50岁以上(含)并且年薪10万以上的职工信息。
好的,以下是 Python 代码实现:
```python
import random
def generate_data(n):
names = ['Alice', 'Bob', 'Charlie', 'David', 'Eva', 'Frank', 'Grace', 'Henry', 'Ivy', 'John']
data = []
for i in range(n):
name = random.choice(names)
age = random.randint(18, 60)
salary = round(random.uniform(10000.0, 30000.0), 2)
data.append({'name': name, 'age': age, 'salary': salary})
return data
if __name__ == '__main__':
data = generate_data(300)
result = [d for d in data if d['age'] >= 50 and d['salary'] >= 100000]
for r in result:
print(r)
```
这个脚本首先定义了一个 `generate_data` 函数,用于随机生成 `n` 个职工信息,每个信息包含一个名字、一个年龄和一个薪资。然后在主函数中,我们调用 `generate_data` 函数生成 300 个职工信息,并使用列表推导式筛选出年龄大于等于 50 并且年薪大于等于 10 万的职工信息,最后打印出筛选结果。
阅读全文