这是本人在平时的一些作业,存在欠缺,希望可以和大家一起讨论改正
"""
登录系统
"""
import random
def cg_verification(len=6):
''' 随机生成6位的验证码 '''
'''这里的list1可以取任何值,但是他里面一定要是以字符串的形式存在的,因为后面要使用到join,join是字符串所特有的
下面的list1使用循环只是为了偷懒啦,也可以手动输入,等下就可以使用手动输入,输入一些生僻字'''
list1 = []
for i in range(10): # 0-9数字
list1.append(str(i))
for i in range(65, 91): # 对应从“A”到“Z”的ASCII码
list1.append(chr(i))
for i in range(97, 123): # 对应从“a”到“z”的ASCII码
list1.append(chr(i))
cheng = random.sample(list1, len) # 从list1中随机获取6个元素,作为一个片断返回
gong = ''.join(cheng) # cheng的类型从列表转化为字符串
return gong
'''验证码-------------------------------------生成程序----------------------------------------------验证码'''
users = {"陈": "857", "刘": "996"}#使用列表时会出现删除一个值他们的对应关系会发生变化
is_login_success = False
count = 0
inputUser = input("用户名:")
inputPassword = input("密码是:")
yzm=cg_verification(len=6)
print(yzm)
user_yzm=input("请输入验证码:")
while user_yzm != yzm:#先验证验证码再对密码进行检验
yzm = cg_verification(len=6)
print(" 33[1;30;41m验证码错误,请重新输入验证码 33[0m ")
print(yzm)
#print(" 33[1;30;41m验证码错误,请重新输入验证码 33[0m ")
user_yzm=input("验证码错误,请重新输入验证码:")
while not is_login_success:#这里加个not是为了更加符合逻辑常识
#inputUser = input("用户名:")
if inputUser not in users:
print("用户名不存在")
inputUser = input("用户名:")
inputPassword = input("密码是")
else:
#inputPassword = input("密码是:")
if users[inputUser] == inputPassword:
print("login success!,welcome to new land", inputUser)
is_login_success = True
else:
print(" 33[1;30;41m输入的密码与账号不对应,请重新输入一个匹配的账号和密码 33[0m ")#当密码输入错误时,有两种可能的原因,第一种就是用户填错了自己的账号,第二种就是用户把密码填错了,所以在后面就需要用户重新输入账号和密码
count += 1
inputUser = input("用户名:")
inputPassword = input("密码是:")
yzm = cg_verification(len=6)#这里的了len是验证码的长度,len可以等于任何长度,你可以随意更改
print(yzm)
user_yzm = input("请输入验证码:")
#yzm = generate_verification_code(len=6)
while user_yzm != yzm:
yzm = cg_verification(len=6)
print(yzm)
print(" 33[1;30;41m验证码错误,请重新输入验证码: 33[0m ")
user_yzm = input("验证码:")
if count == 3:
print(" 33[1;30;41m你的账号已经被锁定 33[0m ")
break
"""
管理系统
"""
if is_login_success:
print(" 33[1;30;47m欢迎管理学生信息管理系统! 33[0m ".center(65))
print('|---------------------------------------------------------|')
print(" 33[1;30;47m1.新建学生信息 33[0m ".center(72))
print(" 33[1;30;47m2.显示全部信息 33[0m ".center(72))
print(" 33[1;30;47m3.查询学生信息 33[0m ".center(72))
print(" 33[1;30;41m4.删除学生信息 33[0m ".center(72))
print(" 33[1;30;41m5.修改学生信息 33[0m ".center(72))
print(" 33[1;30;41m6.退出 33[0m ".center(74))
print('|---------------------------------------------------------|')
students = [{'姓名': '陈', '电话号码': '1', '家庭住址': '你猜', '身份证号': '想知道吗?诶,就不告诉你', '爱好': '打球,python,hacker'},
{'姓名': '刘', '电话号码': '1577789855', '家庭住址': '桥洞', '身份证号': '难民,无身份证', '爱好': '捡垃圾'}
]
# 列表里面可以加多个字典,这样就可以输入多个人的信息
while 1:
print(' 33[1;30;47m--1.新建 2.显示 3.查询 4.删除 5.修改 6.退出-- 33[0m'.center(72))
action = input("请选择你所需要的服务:") # action = int(input("请选择你所需要的服务:"))这样写在你选择服务时会报错,他会说你输入的不是一个可以转换的数
'''退出模块功能'''
if action == '6': # 应该将退出的放在最前面,这样就可以节省时间
cg = input("确定要退出吗: 1--yes 2--no:")
if cg == '1':
print(" 33[1;30;42m欢迎下次使用 33[0m ".center(72))
break
elif cg == '2':
continue # 防止用户因为操作错误导致退出
'''新建模块功能'''
if action == '1':
name = input('请输入姓名:')
phone_number = input('手机号码:')
home_address = input('家庭住址:')
id_number = input('身份证号码:')
student = {
"姓名": name,
"电话号码": phone_number,
"家庭住址": home_address,
"身份证号码": id_number
}
students.append(student)
for student in students:
print(student, 'n')
print('---------------------------'*10)
print(" 33[1;30;42m1.存入成功 33[0m ".center(72))
'''显示模块功能'''
elif action == '2':
for student in students:
print(student)
print("------------------------------------------"*10)
'''搜索模块功能'''
elif action == '3':
name = input("请输入你要搜索的名字:")
for student in students:
if student['姓名'] == name:
print(student)
break
else:
print("不存在{}".format(name)) # 这里的format可以将后面的那么填入{}中
# print("不存在%c" % (name)) # 这样也是适用的
'''删除模块功能'''
elif action == '4':
name = input("请输入姓名:")
for student in students:
if student['姓名'] == name:
students.remove(student) # 这里就要注意了,只有list才会用clear,而其他的则是使用remove
break
else:
print("无法执行,因为不存在该姓名")
'''修改模块功能'''
elif action == '5':
name = input('请输入你要修改的名字:')
for student in students:
if student['姓名'] == name:
student['姓名'] = input('请输入修改后的名字:')
student['电话号码'] = input('请输入修改后的电话号码:')
student['家庭住址'] = input('请输入修改后的家庭住址:')
student['身份证号'] = input('请输入修改后的身份证号:')
print('修改成功')
break
else:
print("未找到{}".format(name))
else:
print(" 33[1;30;43m该功能还未开发,敬请期待 33[0m ".center(72))
菜鸟新人一枚,希望和大家一起共同进步



