宿舍管理系统如何给学生分配宿舍代码
时间: 2024-03-06 18:47:01 浏览: 31
以下是一个简单的宿舍分配代码,仅供参考:
```python
# 假设已经有一个包含学生信息的列表 students,每个学生有 name, gender, grade, major 四个属性
# 定义宿舍类型
dorm_types = {
'male': ['Male Dorm A', 'Male Dorm B', 'Male Dorm C'],
'female': ['Female Dorm A', 'Female Dorm B', 'Female Dorm C'],
'graduate': ['Graduate Dorm A', 'Graduate Dorm B']
}
# 定义宿舍楼层数
num_floors = {
'Male Dorm A': 5,
'Male Dorm B': 6,
'Male Dorm C': 7,
'Female Dorm A': 4,
'Female Dorm B': 5,
'Female Dorm C': 6,
'Graduate Dorm A': 8,
'Graduate Dorm B': 9,
}
# 定义已分配的房间
allocated_rooms = []
# 循环遍历学生列表,分配宿舍
for student in students:
# 确定宿舍类型
if student['gender'] == 'male':
dorm_type = dorm_types['male']
elif student['gender'] == 'female':
dorm_type = dorm_types['female']
else:
dorm_type = dorm_types['graduate']
# 遍历宿舍类型,查找可用房间
allocated = False
for dorm in dorm_type:
if allocated:
break
for floor in range(1, num_floors[dorm]+1):
if allocated:
break
for room in range(1, 11):
if allocated:
break
room_name = f'{dorm}-Floor{floor}-Room{room}'
if room_name not in allocated_rooms:
# 分配房间
student['room'] = room_name
allocated_rooms.append(room_name)
# 标记已分配
allocated = True
break
# 如果没分配到房间,抛出异常
if not allocated:
raise Exception('No available rooms for student: ' + student['name'])
```
以上代码仅为示例,实际宿舍管理系统可能会更加复杂,需要根据具体情况进行设计和开发。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)