# 学生管理系统, 分为管理员登陆和学生登陆;
# 管理员登陆, 可以操作:
# 管理员密码修改;
# 添加学生的信息;
# 删除学生的信息;
# 修改学生的信息;
# 查询学生的信息(根据学号);
# 查看所有学生的信息;
# 退出系统;
# 学生登录:
# 查询个人信息;
# 修改信息;
# 修改年龄;
# 修改密码;
# 学生信息包括:
# 学号, 姓名, 性别, 班级, 出生年月, 用户名, 密码
# 学生用户名和学号保持一致;
# 管理员信息包括:
# 用户名, 密码
rootname = ['root']
rootpasswd = ['123']
stumessage = {'学号': [], '姓名': [], '性别': [], '班级': [], '出生年月': [], '用户名': [], '密码': []}
while True:
print('学生管理系统'.center(50, '*'))
info1 = """
1.管理员登录
2.学生登录
3.退出
"""
print(info1)
choice1 = input('输入你的选择:')
if choice1 == '1':
print('管理员登录'.center(50, '*'))
inrootname = input('管理员名称:')
inrootpasswd = input('管理员密码:')
while True:
if inrootname == 'root' and inrootpasswd == rootpasswd[0]:
print('管理员操作页面'.center(50, '*'))
info2 = """
1.管理员密码修改
2.添加学生信息
3.删除学生信息
4.修改学生信息
5.查询学生信息(根据学号)
6.查看所有学生的信息
7.退出系统
"""
print(info2)
choice2 = input('选择你的操作:')
if choice2 == '1':
print('管理员密码修改'.center(50, '*'))
newrootpasswd = input('输入新密码:')
rootpasswd.pop()
rootpasswd.append(newrootpasswd)
print('更改密码成功!')
elif choice2 == '2':
print('添加学生信息'.center(50, '*'))
newstudentname = input('输入学生姓名:')
if newstudentname in stumessage['姓名']:
print('已有该学生信息')
else:
newstudentxuehao = input('输入学生学号:')
newstudentsex = input('输入学生性别:')
newstudentclass = input('输入学生班级:')
newstudentyears = input('输入学生出生年月:')
newstudentusername = input('输入学生用户名:')
newstudentpasswd = input('输入学生密码:')
stumessage['学号'].append(newstudentxuehao)
stumessage['姓名'].append(newstudentname)
stumessage['性别'].append(newstudentsex)
stumessage['班级'].append(newstudentclass)
stumessage['出生年月'].append(newstudentyears)
stumessage['用户名'].append(newstudentusername)
stumessage['密码'].append(newstudentpasswd)
print('%s同学信息输入成功' % newstudentname)
elif choice2 == '3':
print('删除学生信息'.center(50, '*'))
delstudentname = input('输入要删除的学生名称:')
if delstudentname not in stumessage['姓名']:
print('无该学生信息!')
else:
i = stumessage['姓名'].index(delstudentname)
for t in stumessage:
stumessage[t].pop(i)
print('删除该学生信息')
elif choice2 == '4':
print('修改学生信息'.center(50, '*'))
changename = input('需要修改的同学姓名:')
if changename in stumessage:
info3 = """
修改选项:姓名,学号,性别,班级,
出生年月,用户名,密码
"""
print(info3)
change = input('输入需要修改的名称:')
if change in stumessage:
changepoint = input('输入新的%s:' % change)
i = stumessage['姓名'].index(changename)
stumessage[change].pop(i)
stumessage[change].insert(i, changepoint)
else:
print('无此选项!')
else:
print('无此同学!')
elif choice2 == '5':
print('查询学生信息'.center(50, '*'))
searchxuehao = input('输入要查找同学的学号:')
if searchxuehao in stumessage['学号']:
i = stumessage['学号'].index(searchxuehao)
for t in stumessage:
print(stumessage[t],stumessage[t][i])
else:
print('无此学号!')
elif choice2 == '6':
print('查看所有学生的信息:')
# print('学号\t\t 姓名\t\t 性别\t\t 班级\t\t 出生年月\t\t 用户名\t\t 密码')
for i in stumessage:
print(i)
for t in stumessage[i]:
print(t)
elif choice2 == '7':
print('退出系统')
break
else:
print('输入选择有错!')
else:
print('登录错误!')
elif choice1 == '2':
print('学生登录'.center(50, '*'))
studentusername = input('输入登陆的用户名:')
studentpasswd = input('输入密码:')
while True:
if studentusername in stumessage['用户名']:
i = stumessage['用户名'].index(studentusername)
if stumessage['密码'][i] == studentpasswd:
info4 = """
1.查询个人信息
2.修改个人信息
3.退出
"""
print(info4)
choice3 = input('输入你的选择:')
if choice3 == '1':
print('查询个人信息'.center(50, '*'))
i = stumessage['用户名'].index(studentusername)
for t in stumessage:
print(stumessage[t],stumessage[t][i])
elif choice3 == '2':
print('修改个人信息'.center(50, '*'))
info5 = """
1.修改年龄
2.修改密码
3.退出
"""
choice4 = input('输入你的选择:')
if choice4 == '1':
i = stumessage['用户名'].index(studentusername)
changestuyears = input('输入新的年龄:')
stumessage['年龄'].pop(i)
stumessage['年龄'].insert(i, changestuyears)
print('修改年龄成功')
elif choice4 == '2':
i = stumessage['用户名'].index(studentusername)
changestupasswd = input('输入新的密码:')
stumessage['密码'].pop(i)
stumessage['密码'].insert(i, changestupasswd)
print('修改密码成功')
else:
print('Exit')
break
else:
print('Exit')
else:
print('密码错误!')
else:
print('没有此账户!')
elif choice1 == '3':
print('退出系统!')
break
else:
print('输入错误!')
罗马数字包含以下七种字符: 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.
编写一个函数来查找字符串数组中的最长公共前缀
如果不存在最长公共前缀,返回空字符串 ''
示例 1:
输入: [“flower”,”flow”,”flight”]
输出: “fl”
示例 2:
输入: [“dog”,”racecar”,”car”]
输出: “”
解释: 输入不存在最长公共前缀