首先你要有 openpyxl 第三方库,这个搜搜有很多教程的,我就不列举了
功能:
1.实现简单的excel表的录入。(前提是自己要创一个excel表格,本代码不负责这个)
2.实现人数的对比,判断输入是否为汉字。
3.程序的退出
关于汉字的判断可以参考这位大佬:
python中判断字符是否为中文_、Edgar的博客-CSDN博客_python判断是否为汉字
源代码如下:
def is_Chinese(word):
for ch in word:
if '\u4e00' <= ch <= '\u9fff':
return True
return False
print(is_Chinese("中文"))
关于比较人名,可以用 for 循环实现:
for name1 in l:
if name1 in list_temp:
pass
else:
no_student.append(name1)
列表 l 是用来存团员人名的,list_temp用来存已做的团员人名
使用for循环遍历 l 列表,找到了退出第二个循环,进行第一个循环的下个,未找到就是未做的人,存入未做的人员列表 no_student
其他的功能都很简单了,应该一看就懂,有啥不懂的欢迎提问。我看见了会回复的
注意我的代码如果只是单纯的复制不修改,一定跑不起来,加载的 excel 的路径要自己设置
我的程序源代码如下:
# 青年大学习人数统计
import openpyxl as np
# 判断输入是否为中文
def is_Chinese(word):
for ch in word:
if '\u4e00' <= ch <= '\u9fff':
return 1
# 实现学生的录入、人数统计
def excel_use1():
route = r'路径' # excel 路径
wb = np.load_workbook(route) # 简化路径
# print(wb.sheetnames) # 查询表格有哪些
ws = wb['Sheet1'] # 选择 Sheet1
# my_sheet = wb.get_sheet_by_name('Sheet1') # 根据工作表名称获取工作表
print("功能一:录入学生名单")
print("功能二:统计未做学生名单")
choice = input("请选择功能(请输入数字 1 或者 2):") # 功能选择
if choice == '1':
list_student = 录入学生人数和姓名()
for i in range(len(list_student)):
ws.cell(row = (i+1),column = 1,value = list_student[i])
print("录入成功!")
elif choice == '2':
list_temp = []
name = '开始'
i= 0
while name != '退出': # 结束标志
name = input("请输入第%d位已做学生名字:"%(i + 1))
print("如果要输入完成请输入:退出")
flag = is_Chinese(name) # 判断输入是否为中文
if flag == 1:
list_temp.append(name) # 暂存学生名
i = i + 1
else:
print("你们班同学名字不全是中文?!")
l = [] # 创建空列表
no_student = []
for i in ws.rows: # 提取表格中的学生姓名
for j in i:
l.append(j.value) # 将 cell 的值赋给列表
for name1 in l:
if name1 in list_temp:
pass
else:
no_student.append(name1)
print("未完成的人有:")
i = 1
for name3 in no_student:
print("%d. %s"%(i,name3))
i = i + 1
print()
print("共有%d人未完成。"%(len(no_student)))
wb.save(route)
def 录入学生人数和姓名():
student_num = input("请输入要做青年大学的总人数:") #统计人数
list_student = [] # 创建空列表,存放学生姓名
i = 0
while i < int(student_num):
temp = input("请输入第 %d 位学生姓名:"%(i+1))
flag = is_Chinese(temp)
if flag == 1:
list_student.append(temp)
i = i + 1
print("录入姓名成功!")
else:
print("你们班同学名字不全是中文?!")
return list_student
#主函数
while True:
excel_use1()
print()
flag = input("功能执行完毕,如要退出请输入0,不退出请输入1:")
if flag == '0':
break
print("退出程序成功!")
推荐一个 openpyxl 的教学视频(你同时也可以从那个up主那学习python的其他知识,我也是从那里学的):