图 1 | 图 2 |
import pandas as pd
def read_file(filename):
#读入报名数据的原始文件,并将表中的数据转换成列表,代码略
def save_file(a): #保存名单到相应社团的 Excel 电子表格文件
df = pd.DataFrame(a,columns=[“班级”,“姓名”,“选报社团”])
df.to_excel( +“.xlsx”,index=False)
a = read_file(“社团报名.xlsx”)
n = len(a)
# 按社团名(参照拼音的字母顺序)进行升序排序,代码略
# 统计各社团人数,存在列表 rs 中,rs=[[“滑板社”,36],…],代码略
s = 0
for i in range(len(rs)):
left,right = s, s+num-1
while left < right:
imin = imax = left
for k in range(left+1,right+1):
if a[k][0] < a[imax][0]:
imin = k
elif a[k][0] > a[imax][0]:
imax = k
if imin != left:
a[imin],a[left] = a[left],a[imin]
if imax == left:
if imax != right:
a[imax],a[right] = a[right],a[imax]
left = left + 1; right = right–1
s += num