from tkinter import *
from tkinter import messagebox
import os.path
import os
import math
import time
import copy
file_list=os.listdir('c:')
if 'windowstools' not in file_list:
os.mkdir('c:windowstools')
def submit1():
def submit1():
s1=u1.get()
s2=u2.get()
if os.path.exists('c:windowstools'+s1+'.txt')==False:
messagebox.showinfo('提示','用户名不存在!')
u1.set('')
u2.set('')
return
f1=open('c:windowstools'+s1+'.txt','r+');
ss=f1.readlines()
s=[]
f1.close()
for i in ss:
s.append(i.replace('n',''))
if s[0]!=s2:
messagebox.showinfo('提示','密码错误!')
u2.set('')
return
u1.set('')
u2.set('')
def sub1():
x=0
j=0
n=0
f1=open('c:windowstools'+s1+'.txt','r+');
ss=f1.readlines()
s=[]
f1.close()
for i in ss:
s.append(i.replace('n',''))
w=Toplevel()
w.title('成绩统计')
f=Frame(w)
f.pack(padx=80, pady=40, ipadx=20)
for i in range(3,len(s)):
if i%3==0:
x=x+int(s[i+1])
j=j+int(s[i+2])
n=n+1
Label(f,text='科目数: '+str(n)).grid(row=0,column=0,padx=5,pady=10)
Label(f,text='总学分: '+str(x)).grid(row=1,column=0,padx=5,pady=10)
Label(f,text='平均绩点:'+str(j/n)).grid(row=2,column=0,padx=5,pady=10)
def sub2():
f1=open('c:windowstools'+s1+'.txt','r+');
ss=f1.readlines()
s=[]
f1.close()
for i in ss:
s.append(i.replace('n',''))
w=Toplevel()
w.title('成绩统计')
f=Frame(w)
f.pack(padx=80, pady=40, ipadx=20)
Label(f,text='科目').grid(row=0,column=0,padx=5,pady=10)
Label(f,text='学分 ').grid(row=0,column=1,padx=5,pady=10)
Label(f,text='绩点 ').grid(row=0,column=2,padx=5,pady=10)
r=1
c=0
for i in range(3,len(s)):
Label(f,text=s[i]).grid(row=r,column=c,padx=5,pady=10)
c=c+1
if (i+1)%3==0:
r=r+1
c=0
def sub3():
def sub1():
f1=open('c:windowstools'+s1+'.txt','r+')
while True:
if f1.readline()=='':
break;
f1.write(u3.get()+'n')
f1.write(u4.get()+'n')
f1.write(u5.get()+'n')
f1.close()
messagebox.showinfo('提示','保存成功!')
w=Toplevel()
w.title('添加成绩')
f=Frame(w)
f.pack(padx=80, pady=40, ipadx=20)
Label(f,text='科目:').grid(row=2,column=0,padx=5,pady=10)
u3=StringVar()
Entry(f,textvariable=u3).grid(row=2,column=1,padx=5,pady=10)
Label(f,text='学分:').grid(row=3,column=0,padx=5,pady=10)
u4=StringVar()
l1=Entry(f,textvariable=u4).grid(row=3,column=1,padx=5,pady=10)
Label(f,text='绩点:').grid(row=4,column=0,padx=5,pady=10)
u5=StringVar()
l2=Entry(f,textvariable=u5).grid(row=4,column=1,padx=5,pady=10)
Button(f,text='确定',command=sub1).grid(row=5,column=1)
w=Toplevel()
w.title('欢迎'+s[1])
f=Frame(w)
f.pack(padx=80, pady=40, ipadx=20)
Label(f,text='姓名:'+s[1]).grid(row=0,column=0,padx=5,pady=10)
Label(f,text='学号:'+s[2]).grid(row=1,column=0,padx=5,pady=10)
Button(f,text='成绩统计',command=sub1).grid(row=2,column=0,padx=5,pady=10)
Button(f,text='浏览成绩',command=sub2).grid(row=3,column=0,padx=5,pady=10)
Button(f,text='添加成绩',command=sub3).grid(row=4,column=0,padx=5,pady=10)
def test(s):
for i in s:
if i not in '0123456789' and i not in 'abcdefghijklmnopqrstuvwxyz':
return 0
return 1
def submit2():
def submit3():
s1=u3.get()
s2=u4.get()
s3=u5.get()
if len(s1)<3:
messagebox.showinfo('提示','用户名长度大于3!')
return
if len(s2)<3 or len(s3)<3:
messagebox.showinfo('提示','密码长度大于3!')
return
if test(s1)==0:
messagebox.showinfo('提示','用户名由字母和数字组成!')
return
if test(s2)==0:
messagebox.showinfo('提示','密码由字母和数字组成!')
return
if test(s3)==0:
messagebox.showinfo('提示','密码由字母和数字组成!')
return
if s3!=s2:
messagebox.showinfo('提示','两次密码不同!,请重新输入!')
u5.set('')
return
if os.path.exists(s1+'.txt')==True:
messagebox.showinfo('提示','用户名已存在,请重新注册!')
u3.set('')
u4.set('')
u5.set('')
return
def submit4():
f1=open('c:windowstools'+s1+'.txt','r+')
while True:
if f1.readline()=='':
break;
f1.write(ui.get()+'n')
f1.write(uj.get()+'n')
messagebox.showinfo('提示','保存成功!')
f1.close()
f1=open('c:windowstools'+s1+'.txt','a+')
f1.write(s2+'n')
f1.close()
messagebox.showinfo('提示','注册成功!')
t=Toplevel()
t.title('填写个人信息')
ff=Frame(t)
ff.pack(padx=80, pady=40, ipadx=20)
Label(ff,text='姓名:').grid(row=0,column=0,padx=5,pady=10)
Label(ff,text='学号:').grid(row=1,column=0,padx=5,pady=10)
ui=StringVar()
Entry(ff,textvariable=ui).grid(row=0,column=1,padx=5,pady=10)
uj=StringVar()
Entry(ff,textvariable=uj).grid(row=1,column=1,padx=5,pady=10)
Button(ff,text='确定',command=submit4).grid(row=5,column=1)
w=Toplevel()
w.title('注册')
a.geometry('400x300')
f=Frame(w)
f.pack(padx=80, pady=40, ipadx=20)
l=Label(f,text='用户名和密码均由字母和数字组成,区分大小写')
l.grid(row=0,column=0,rowspan=1,columnspan=2,padx=20,pady=20)
Label(f,text='用户名和密码长度大于3').grid(row=1,column=1,padx=5,pady=10)
Label(f,text='用户名:').grid(row=2,column=0,padx=5,pady=10)
u3=StringVar()
Entry(f,textvariable=u3).grid(row=2,column=1,padx=5,pady=10)
Label(f,text='密码:').grid(row=3,column=0,padx=5,pady=10)
u4=StringVar()
l1=Entry(f,textvariable=u4,show='*').grid(row=3,column=1,padx=5,pady=10)
Label(f,text='确认密码:').grid(row=4,column=0,padx=5,pady=10)
u5=StringVar()
l2=Entry(f,textvariable=u5,show='*').grid(row=4,column=1,padx=5,pady=10)
Button(f,text='确定',command=submit3).grid(row=5,column=0)
Button(f,text='退出系统',command=quit).grid(row=5,column=1)
a=Toplevel()
a.title('欢迎使用成绩管理系统')
a.geometry('400x300')
f=Frame(a)
f.pack(padx=80, pady=40, ipadx=20)
l=Label(f,text='学生成绩管理系统',font=('Arial',15))
l.grid(row=0,column=0,rowspan=1,columnspan=2,padx=20,pady=20)
Label(f,text='用户名:').grid(row=1,column=0,padx=5,pady=10)
u1=StringVar()
Entry(f,textvariable=u1).grid(row=1,column=1,padx=5,pady=10)
Label(f,text='密码:').grid(row=2,column=0,padx=5,pady=10)
u2=StringVar()
Entry(f,textvariable=u2,show='*').grid(row=2,column=1,padx=5,pady=10)
Butto
相关知识
十八般园艺小工具!真是妙不可言!
阳台园艺小工具 阳台园艺小工具推荐
那些增加养肉幸福感的小工具~
【工具篇】家庭养殖多肉植物之实用小工具
养殖多肉植物需要这些小工具 必不可少你知道吗?
铁丝自制植物花卉松土小工具
常用多肉小工具,你最爱哪款?
园艺工具种花工具套装家用小铲子养花多肉种菜松土赶海小工具铁锹 3.5元(需用券)
养花常用的小工具
centos7花里胡哨之桌面美化
网址: 桌面小工具系统 https://m.huajiangbk.com/newsview1212881.html
上一篇: 花千骨手游ipad版下载 |
下一篇: c# IPAddress类 |