c语言学生管理系统中人数,python下学生管理系统:从文件中读取30位学生的信息(含邮箱),并实现简单的增、删、查找、统计(邮箱使用人数)。---附程序哦!...

再说python(接上一篇C语言写的):

用python编程最大的好处就简单、易懂,通过这题就可以看出。界面、增、删和查找不用说了吧。。。。统计用python非常的简单,因为它自带信息截取功能,比如是s[1][1:3],可以截取是s[1]字符串的第1到3之间的字符(从0开始数,含1,不包含3,具体见python手册),现在,你只要依次找到所有学生的邮箱,截取相应的你需要的字段,比如

str[string.index(str,'@'):string.rindex(str,'m')+1](未测试)

就可以把一个qq邮箱的‘qq.com’字段截取出来,下面你懂得。。。不说了。

python下写的程序:

(统计那一块得自己改一下,我统计的邮箱不具有代表性,方法见上)

# -*- coding: cp936 -*-

N=6#全局变量

def tongji(studinfo):

global N#全局变量使用前要声明一下,不然python会把它当然局部变量

q=0;si=0;ot=0;os=0;so=0

for i in range(0,N):

if(studinfo[i][5][11:13]=='qq'):q+=1

if(studinfo[i][5][11:13]=='si'):si+=1

if(studinfo[i][5][11:13]=='12'):ot+=1

if(studinfo[i][5][11:13]=='16'):os+=1

if(studinfo[i][5][11:13]=='so'):so+=1

print'使用人数---qq:%s人,新浪:%s人,126:%s人,163:%s人,搜狐:%s人'%(q,si,ot,os,so)

return

def add(studinfo):

print '\n======add======\nplease input name,id,sex,age,tel,mail:'

global N#全局变量使用前要声明一下,不然python会把它当然局部变量

N+=1

addinfo=[]

addinfo = raw_input()

addinfo = addinfo.split(',')#拆分函数:把多个元素放在列表里面,主意','是英文标点

if len(addinfo) != 6:

print 'lenth error\n'

return

studinfo.append(addinfo)

f=open('D:\\studinfo.txt','w')

for i in range(0,N):

f.writelines(studinfo[i])

print 'add success\n'

return

def delete(studinfo):

print '\n======delete======\nplease input id:'

global N#全局变量使用前要声明一下,不然python会把它当然局部变量

N-=1

delinfo = raw_input()

for i in range(0,N):

if(int(delinfo)==int(studinfo[i][1])):

del studinfo[i]

for i in range(0,N):

print "姓名:%s 学号:%s 性别:%s 年龄:%s 电话:%s 邮箱:%s"%(studinfo[i][0],studinfo[i][1],studinfo[i][2],studinfo[i][3],studinfo[i][4],studinfo[i][5])

f=open('D:\\studinfo.txt','w')

for i in range(0,N):

f.writelines(studinfo[i])

print 'delete success\n'

return

def search(studinfo):

print '\n======search======\nplease input search id,0 for search all:'

searchinfo = raw_input()

for i in range(0,N):

if(int(searchinfo)==int(studinfo[i][1])):

print "姓名:%s 学号:%s 性别:%s 年龄:%s 电话:%s 邮箱:%s"%(studinfo[i][0],studinfo[i][1],studinfo[i][2],studinfo[i][3],studinfo[i][4],studinfo[i][5])

return

def xianshi(studinfo):

for i in studinfo:

print "姓名:%s 学号:%s 性别:%s 年龄:%s 电话:%s 邮箱:%s"%(i[0],i[1],i[2],i[3],i[4],i[5])

def duqu():

studinfo = []

student=[]

f=open('D:\\studinfo.txt','r')

for i in range(0,N):

student=f.readline()

student=student.split(',')

studinfo.append(student)

f.close()

return studinfo

def selecttype(studinfo):

print '===================\nplease input type:\n1.add\n2.delete\n3.search\n4.xianshi\n5.tongji\n0.exit'

selectkey = raw_input()

if selectkey == '0':

exit(0)

elif selectkey == '1':

add(studinfo)

elif selectkey == '2':

delete(studinfo)

elif selectkey == '3':

search(studinfo)

elif selectkey == '4':

xianshi(studinfo)

elif selectkey == '5':

tongji(studinfo)

else:

pass

selecttype(studinfo)

return

def main():

studinfo = duqu()

selecttype(studinfo)

return

if __name__ == '__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值