1.多条件判断
score=int(input('请输入分数:'))if score>=90:print('优')elif score>=80:print('良')elif score>=60:print('中')else:print('差')
2.实战
新建工作簿,添加工作表名为分数表,并求语文数学成绩之和,大于180优,大于160良,大于140中,其余为差。分别筛选优良中差等级到四个工作表中。
import xlrd #导入表格读取包from xlutils.copy import copywb=xlrd.open_workbook('成绩表.xls') #打开工作簿ws=wb.sheet_by_index(0) #打开工作表nwb=copy(wb) #新建工作簿,复制原工作簿nws=nwb.get_sheet('分数表') #复制分数表nws0=nwb.add_sheet('优') #添加nws1=nwb.add_sheet('良') #四个nws2=nwb.add_sheet('中') #等级nws3=nwb.add_sheet('差') #工作表n,m=0,0i,j,k,l=1,1,1,1while n<ws.nrows-1: #获取行数n+=1sub = ws.cell_value(n,1)+ws.cell_value(n,2) #获取总分和if sub>=180: #判断nws.write(n, 3, sub) #分数表写入总分nws.write(n, 4, '优') #分数表写入等级nws0.write(i,0,ws.cell_value(n,0)) #写名字nws0.write(i, 1, ws.cell_value(n, 1)) #写语文nws0.write(i, 2, ws.cell_value(n, 2)) #写数学nws0.write(i, 3, '优') #写等级i+=1 #写完一行,行号加一elif sub>=160: #判断nws.write(n, 3, sub)nws.write(n, 4, '良')nws1.write(j,0,ws.cell_value(n,0))nws1.write(j, 1, ws.cell_value(n, 1))nws1.write(j, 2, ws.cell_value(n, 2))nws1.write(j, 3, '良')j+=1elif sub>=140: #判断nws.write(n, 3, sub)nws.write(n, 4, '中')nws2.write(k,0,ws.cell_value(n,0))nws2.write(k, 1, ws.cell_value(n, 1))nws2.write(k, 2, ws.cell_value(n, 2))nws2.write(k, 3, '中')k+=1else: #判断nws.write(n, 3, sub)nws.write(n, 4, '差')nws3.write(l,0,ws.cell_value(n,0))nws3.write(l, 1, ws.cell_value(n, 1))nws3.write(l, 2, ws.cell_value(n, 2))nws3.write(l, 3, '差')l+=1nws.write(0, 3, '总分')nws.write(0, 4, '等级')nwb.save('等级表.xls') #保存工作簿
写的比较繁琐 等我学会了简单的方法 就不繁琐了
成绩表.xls
