1.
# 学生管理系统, 分为管理员登陆和学生登陆;
# 管理员登陆, 可以操作:
# 管理员密码修改;
# 添加学生的信息;
# 删除学生的信息;
# 修改学生的信息;
# 查询学生的信息(根据学号);
# 查看所有学生的信息;
# 退出系统;
# 学生登录:
# 查询个人信息;
# 修改信息;
# 修改年龄;
# 修改密码;
# 学生信息包括:
# 学号, 姓名, 性别, 班级, 出生年月, 用户名, 密码
# 学生用户名和学号保持一致;
# 管理员信息包括:
# 用户名, 密码
AdminDict = {'admin':'root'}
StudentDict={'学号':[],
'姓名':[],
'性别':[],
'班级':[],
'出生年月':[],
'用户名':[],
'密码':[]
}
def main():
while True:
print('欢迎使用用户管理系统,请选择您要登陆的用户:'.center(40,'*'))
print("""
1.管理员
2.学生
q.退出登陆
""")
choice=input('输入选项:')
if choice=='1':
inadmin=input('输入管理员用户名:')
inpasswd=input('输入密码:')
if inadmin in AdminDict:
if inpasswd==AdminDict[inadmin]:
AdminFun()
else:
print('密码错误')
else:
print('管理员用户名错误')
elif choice=='2':
instuname=input('输入学生用户名:')
instupasswd=input('输入密码:')
if instuname in StudentDict['用户名']:
item=StudentDict['用户名'].index(instuname)
if instupasswd==StudentDict['密码'][item]:
StudentFun(item)
else:
print('密码错误')
else:
print('学生用户名错误')
elif choice=='q':
print('退出成功')
break
else:
print('输入错误,请重试')
def AdminFun():
while True:
admininfo="""
1.管理员密码修改
2.添加学生信息
3.删除学生信息
4.修改学生信息
5.查询学生信息(根据学号)
6.查看所有学生的信息
7.退出系统
"""
print('管理员系统'.center(40,'*'))
print(admininfo)
choice=input('输入选项:')
if choice=='1':
inpasswd=ip=input('输入新密码:')
AdminDict['root']=inpasswd
print('密码修改成功')
elif choice=='2':
num=input('输入学号:')
name=input('输入姓名:')
sex=input('输入性别:')
classes=input('输入班级:')
birth=input('输入出生年月:')
passwdstudent=input('输入密码:')
StudentDict['学号'].append(num)
StudentDict['姓名'].append(name)
StudentDict['性别'].append(sex)
StudentDict['班级'].append(classes)
StudentDict['出生年月'].append(birth)
StudentDict['用户名'].append(num)
StudentDict['密码'].append(passwdstudent)
print('学生信息添加成功')
elif choice=='3':
num=input('输入要删除的学号:')
if num in StudentDict['学号']:
item=StudentDict['学号'].index(num)
for i in StudentDict:
StudentDict[i].pop(item)
print('学生信息删除成功')
else:
print('学号不存在,不能删除')
elif choice=='4':
num=input('输入要修改的学号:')
if num in StudentDict['学号']:
option=input('输入要修改的选项:')
contain=input('输入修改的内容:')
stem=StudentDict['学号'].index(num)
StudentDict[option][stem]=contain
print('学生信息修改成功')
else:
print('学号不存在,不能修改')
elif choice=='5':
num=input('输入要查询的学号:')
if num in StudentDict['学号']:
stem=StudentDict['学号'].index(num)
for i,v in StudentDict.items():
print(i,':',v[stem])
elif choice=='6':
for i,v in StudentDict.items():
print(i,':',v)
elif choice=='7':
print('退出成功')
break
else:
print('选项输入错误,请重试')
def StudentFun(item):
while True:
info="""
1.查询个人信息
2.修改信息
1)修改出生年月
2)修改密码
3.退出系统
"""
print( '学生系统'.center(40,'*'))
print(info)
choice=input('输入选项:')
if choice=='1':
for key in StudentDict:
print('%s:%s' %(key,StudentDict[key][item]))
elif choice=='2':
option=input('输入修改选项:')
if option=='1':
age=input('输入要修改的出生年月:')
StudentDict['出生年月'][item]=age
print('出生年月修改成功')
elif option=='2':
passwd=input('输入要修改的密码:')
StudentDict['密码'][item]=passwd
elif choice=='3':
print('退出成功')
break
else:
print('输入错误,请重试')
main()
*********欢迎使用用户管理系统,请选择您要登陆的用户:*********
1.管理员
2.学生
q.退出登陆
输入选项:1
输入管理员用户名:admin
输入密码:root
*****************管理员系统******************
1.管理员密码修改
2.添加学生信息
3.删除学生信息
4.修改学生信息
5.查询学生信息(根据学号)
6.查看所有学生的信息
7.退出系统
输入选项:5
输入要查询的学号:1
学号 : 1
姓名 : 小明
性别 : 男
班级 : 1
出生年月 : 1998.1.1
用户名 : 1
密码 : xiaoming
*****************管理员系统******************
1.管理员密码修改
2.添加学生信息
3.删除学生信息
4.修改学生信息
5.查询学生信息(根据学号)
6.查看所有学生的信息
7.退出系统
输入选项:7
退出成功
2.罗马数字包含以下七种字符: I, V, X, L,C,D 和 M
字符 数值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
例如,罗马数字2写做 II,即为两个并排放置的的 1,12写做XII,即为 X + II ,27写做XXVII,即为XX+V+II
在罗马数字中,小的数字在大的数字的右边。但 4 不写作 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数减小数得到的数值 4 。同样地,数字 9 表示为 IX。这个规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9
X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900
给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 范围内
示例:
示例 1:
输入: “III”
输出: 3
示例 2:
输入: “IV”
输出: 4
示例 3:
输入: “IX”
输出: 9
示例 4:
输入: “LVIII”
输出: 58
解释: C = 100, L = 50, XXX = 30 and III = 3.
示例 5:
输入: “MCMXCIV”
输出: 1994
解释: M = 1000, CM = 900, XC = 90 and IV = 4.
d = dict(I = 1,V = 5,X = 10,L = 50,C = 100,D = 500,M = 1000)
num = input('请输入一个罗马数字:')[::-1]
res = d[num[0]]
for k,v in enumerate(num):
if k<len(num)-1:
if d[num[k+1]]>=d[v]:
res=res+d[num[k+1]]
else:
res=res-d[num[k+1]]
print(res)
请输入一个罗马数字:MCMXCIV
1994
3.编写一个函数来查找字符串数组中的最长公共前缀
如果不存在最长公共前缀,返回空字符串 ''
示例 1:
输入: [“flower”,”flow”,”flight”]
输出: “fl”
示例 2:
输入: [“dog”,”racecar”,”car”]
输出: “”
解释: 输入不存在最长公共前缀
说明:所有输入只包含小写字母 a-z
def solution(strs):
if not strs:# 如果strs为空,返回空字符串
return ''
s1 = min(strs)#根据ASCII码来排序的
s2 = max(strs)
for i,v in enumerate(s1):
if v != s2[i]:
return s1[:i]
return s1
li = list(map(str,input('请输入字符串数组:').split()))
print(solution(li))
请输入字符串数组:flower flow flight
fl