用户登陆系统, 分为管理员登陆和学生登陆;
1.管理员登陆, 可以操作:
管理员密码修改;
添加学生的信息;
删除学生的信息;
修改学生的信息;
查询学生的信息;
根据学号查找;
根据姓名查找;
查看所有学生的信息;
退出系统;

2.学生登录:
查询个人信息;
修改信息;
修改姓名;
修改年龄;
修改密码;

学生信息包括:
学号, 姓名, 性别, 班级, 出生年月, 用户名, 密码
学生用户名和学号保持一致;

管理员信息包括:
用户名, 密码。
def Info():
    print("-" * 40)
    print("              学生管理系统 ")
    print("            1.添加学生的信息")
    print("            2.删除学生的信息")
    print("            3.修改学生的信息")
    print("            4.查询学生的信息")
    print("            5.遍历所有学生的信息")
    print("            6.退出系统")
    print('-' * 40)

students = []

while True:
    Info()
    choice = int(input("请选择功能(序号):"))
    if choice == 1:
        print("您选择了添加学生信息功能")
        name = input("请输入学生姓名:")
        stuId = input("请输入学生学号(学号不可重复)")
        age = input("请输入学生年龄:")
        passwd = input("请输入学生密码:")
        gender = input("请输入学生性别(1-男,2-):")
        date = input("请输入学生出生日期:")
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == stuId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            print("输入学生学号重复,添加失败!")
            break
        else:
            stuInfo = {}
            stuInfo['name'] = name
            stuInfo['id'] = stuId
            stuInfo['age'] = age
            stuInfo['passwd'] = passwd
            stuInfo['gender'] = gender
            stuInfo['date'] = date
            students.append(stuInfo)
            print("添加成功!")

    elif choice == 2:
        print("您选择了删除学生功能")
        delId = input("请输入要删除的学生学号:")
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == delId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 0:
            print("没有此学生学号,删除失败!")
        else:
            del students[i]
            print("删除成功!")

    elif choice == 3:
        print("您选择了修改学生信息功能")
        alterId = input("请输入你要修改学生的学号:")
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == alterId:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 1:
            while True:
                alterNum = int(input(" 1.修改学号\n 2.修改密码 \n 3.修改年龄 \n 4.退出修改\n"))
                if alterNum == 1:
                    newId = input("输入更改后的学号:")
                    i = 0
                    leap1 = 0
                    for temp1 in students:
                        if temp1['id'] == newId:
                            leap1 = 1
                            break
                        else:
                            i = i + 1
                    if leap1 == 1:
                        print("输入学号不可重复,修改失败!")
                    else:
                        temp['id'] = newId
                        print("学号修改成功")
                elif alterNum == 2:
                    newName = input("输入更改后的密码:")
                    temp['passwd'] = passwd
                    print("密码修改成功")
                elif alterNum == 3:
                    newAge = input("输入更改后的年龄:")
                    temp['age'] = newAge
                    print("年龄修改成功")
                elif alterNum == 4:
                    break
                else:
                    print("输入错误请重新输入")
        else:
            print("没有此学号,修改失败!")
    elif choice == 4:
        print("您选择了查询学生信息功能")
        searchID = input("请输入你要查询学生的学号:")
        i = 0
        leap = 0
        for temp in students:
            if temp['id'] == searchID:
                leap = 1
                break
            else:
                i = i + 1
        if leap == 0:
            print("没有此学生学号!")
        else:
            print("找到此学生,信息如下:")
            print("学号:%s\n姓名:%s\n年龄: %s\n性别: %s\n出生日期: %s\n" % (temp['id'], temp['name'], temp['age'], temp['gender'],temp['date']))
    elif choice == 5:
        print('*' * 40)
        print("接下来进行遍历所有的学生信息...")
        print("id    姓名    年龄   性别 出生日期")
        for temp in students:
            print("%s       %s     %s     %s    %s" % (temp['id'], temp['name'], temp['age'], temp['gender'],temp['date']))
        print("*" * 40)

    elif choice == 6:
        quitconfirm = input("确认退出? (yes或者no")
        if quitconfirm == 'yes':
            print("欢迎下次使用,谢谢!")
            break;
    else:
        print("您输入有误,请重新输入")

学生管理系统及练习题


学生管理系统及练习题


学生管理系统及练习题


学生管理系统及练习题


学生管理系统及练习题


2.练习题

1.(2017-腾讯-在线编程题)
- 题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输
入值小于1000如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10, 分别为(5, 5), (3, 7)
- 输入描述:
输入包括一个整数n, (3 ≤ n < 1000)
- 输出描述:
输出对数
- 示例1:
输入:
10
输出:
2
num=int(input("输入一个正整数:"))
a=[2]
b=[]
count=0
for i in range(3,1000):
    for j in range(2,i):
        if i % j ==0:
            count+=1
    if count==0:
        a.append(i)
    count=0
k=0
for i in a:
        if (num-int(i)) in a and int(i)<=(num-int(i)):
            b.append([i,num-int(i)])
            k+=1
print("共有%s对质数的和为%d,分别为"%(k,num))
print(b)
学生管理系统及练习题

2.字符串最后一个单词的长度
题目描述:计算字符串最后一个单词的长度,单词以空格隔开。
输入描述: 一行字符串,非空,长度小于5000输出描述: 整数N,最后一个单词的长度。
示例1输入:hello world
输出:5

学生管理系统及练习题

3.字典练习1_重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;

 # 1. 用户输入一句英文句子;

 # 2. 打印出每个单词及其重复的次数;
s = input("s:") # "hello java hello python"
# hello 3
# java 2
# python 1
# 1. 把每个单词分割处理;
s_li = s.split()
print(s_li)
# 2. 通过字典存储单词和该单词出现的次数;
words_dict = {}
# 3. 依次循环遍历列表, 
    如果列表元素不在字典的key中,将元素作为key, 1作为value加入字典; 
    如果列表元素在字典的key中,直接更新value值, 即在原有基础上加1 
li = ['hello', 'java', 'hello', 'python']
words_dict = {'hello':2,'java':1 }
for item in s_li:
    if item not in words_dict:
        words_dict[item] = 1
    else:
        # words_dict[item]  = words_dict[item] + 1
        words_dict[item]  +=  1
# 4. 打印生成的字典;

print(words_dict)

4.字典练习2

# 数字重复统计:
    1). 随机生成1000个整数;
    2). 数字的范围[20, 100],
    3). 升序输出所有不同的数字及其每个数字重复的次数;
import random
# 1). 随机生成1000个整数;
all_nums = []
for item in range(1000):
    # 2).数字的范围[20, 100],
    all_nums.append(random.randint(20,100))
 # 3). 升序输出所有不同的数字及其每个数字重复的次数;
# # - 对生成的1000个数字进行排序, 然后在加入到字典中,计算个数;
# sorted_nums = sorted(all_nums)
# nums_dict = {}
# for num  in sorted_nums:
#     if num in nums_dict:
#         nums_dict[num] += 1
#     else:
#         nums_dict[num] = 1
# print(nums_dict)

nums_dict = {}
for num  in all_nums:
    if num in nums_dict:
        nums_dict[num] += 1
    else:
        nums_dict[num] = 1
sort_num_dict = {}
print(sorted(nums_dict.keys()))
#
for num in sorted(nums_dict.keys()):
    sort_num_dict[num]=  nums_dict[num]

print(sort_num_dict)

学生管理系统及练习题

5.字典练习3

# 1. 随机生成100个卡号;
#     卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),
# 2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";
# 3. 输出卡号和密码信息, 格式如下:
卡号                  密码
6102009001              000000
# 存储所有卡号的列表, 也可以通过集合来存储;
card_ids = []
# 生成100个卡号的过程;
for i in range(100):
    # %.3d代表这个整形数占3位。 eg: 1--> 001;
    s = "6102009%.3d" %(i+1)
    # 将每次生成的卡号加入列表中;
    card_ids.append(s)
card_ids_dict = {}.fromkeys(card_ids, 'redhat')
# print(card_ids_dict)
print("卡号\t\t\t\t\t密码")
for key in card_ids_dict:
    print("%s\t\t\t%s" %(key, card_ids_dict[key]))

# print({}.fromkeys('hello', 'redhat'))

学生管理系统及练习题


相关文章:

  • 2021-12-26
  • 2021-11-28
  • 2021-12-05
猜你喜欢
  • 2021-10-06
  • 2021-10-31
  • 2021-05-22
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2021-12-26
相关资源
相似解决方案