2. 添加班级功能的实现
实现方法
以下只显示修改内容,请自行比对修改部分。
新增 tools 模块:tools.py
用于各个模块都使用的工具函数。
def get_display_width(s):
'''
返回字符串s的显示宽度
如:
'abc' -->3
'中文' --> 4
'ABC中文' --> 7
'''
return sum([1 if ord(ch) < 128 else 2 for ch in s])
# display_width = 0
# for ch in s:
# if ord(ch) < 128:
# display_width += 1
# else:
# display_width += 2
# return display_width
- 学校相关模块:
school.py
from class_room import ClassRoom
import tools
class_rooms = [] # 用于存放班级对象
def add_class_room():
'''添加班级'''
class_name = input('请输入班级名称: ')
# 判断 class_name 不能超过 10 个显示字符的宽度
if tools.get_display_width(class_name) <= 10:
cr = ClassRoom(class_name)
class_rooms.append(cr)
print('添加班级', class_name, '成功!')
else:
print('添加班级失败,班级名太长!')
import time
time.sleep(2)
def show_school_menu():
print(' xxxx小学信息管理系统')
print('+-----------------------------------+')
print('| 1) 添加班级 |')
...
def class_manager():
'''此函数用来管理班级数据'''
while True:
show_school_menu()
sel = input('请选择:')
match sel:
case '1': # 1) 添加班级
add_class_room()
case '2': # 2) 删除班级
pass
...