python用户登录程序_「Python」每日一练:函数的应用之注册登录程序

编程题

函数的应用之注册登录程序

任务内容:要求模拟系统注册及登录的情境,注册密码要求:密码是6位或以上,必须包涵大写字母、小写字母、数字。程序若未退出前,则一直循环运行。

程序编写要求:按要求完善各函数的功能,框架代码如下所示:

python用户登录程序_「Python」每日一练:函数的应用之注册登录程序_第1张图片

主界面输出如下图所示:

python用户登录程序_「Python」每日一练:函数的应用之注册登录程序_第2张图片

编程思路

1、根据题目要求,框架代码。程序中采用列表存储用户名和密码,同一序号下存储同一用户的用户名和密码。

2、通过正则表达式校验密码有效性。密码要求:密码是6位或以上,必须包涵大写字母、小写字母、数字

3、用户注册:(1)先校验用户是否存在,不允许重复注册。(2)再校验密码是否符合要求

4、用户登录:(1)判断用户是否存在(2)再判断密码是否一致。(3)两者都一致的情况,登录成功

编码实现

#!/usr/bin/env python3 # -*- coding: utf-8 -*-# @Author : 青松# @Time : 2020/4/14 9:33# @Site : www.itclub16.comimport reusername= [ ] #用户名列表password= [ ] #密码列表#main函数是主界面def main(): print("----------主界面----------") print("1.用户注册\n"\ "2.用户登录\n"\ "3.退出" ) print("--------------------------")#get_ choice() 获取用户输入的信愿def get_choice(): choiceNo=int(input("请输入选择的序号:")) return choiceNo#register()是注册界面def register(): #1、输入用户名,并校验是否存在 newUserName=input("用户名:") #判断用户名是否已使用 while(newUserName in username): print("用户名已使用,请重新输入!") newUserName = input("用户名:") else: username.append(newUserName) #2、输入密码,并校验有效性 print("密码要求:6位或以上,必须包含大写字母、小写字母、数字") newPassword=input("密 码:") #使用正则表达式校验有效性 p=re.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{6,}$") while(p.match(newPassword)==None): print("不符合密码要求,请重新输入!") newPassword = input("密 码:") else: password.append(newPassword) print("注册成功!")#Login()是登录界面def login(): loginName=input("用户名:") loginPassword = input("密 码:") if loginName in username: userNo=username.index(loginName) #密码校验 if loginPassword == password[userNo]: print("登录成功!") else: print("密码错误!请重新登录!") else: print("用户名不存在!")#exit_menu() 可退出程序def exit_menu(): return 1i=0while i==0 : main( ) choice=get_choice() if choice==1: register( ) elif choice==2: login( ) elif choice==3: i=exit_menu( )运行结果

python用户登录程序_「Python」每日一练:函数的应用之注册登录程序_第3张图片

你可能感兴趣的:(python用户登录程序)