1.需求分析

  登入界面需要达到以下要求:

  1. 系统要有登入和注册两个选项可供选择
  2. 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中
  3. 系统要能够进行登入错误次数统计并锁定,当用户输入3次错误时账户密码时,改账户被锁定,并将锁定账户保存于login_lock.txt文件夹中
  4. 注册界面要能够进行用户名重复提示,当用户注册账户已存在时,进行相应信息的提示。

1.代码实现

getNum = int(input("1.登入\n2.注册\nPlease Input the Choose :"))
while getNum<1 or getNum>2:
getNum =int(input("无效值 :")) username = input("用户名: ")
password = input("密码: ") if getNum == 1:#登入
ErrNums = 0
while ErrNums<3:
T = False
fp = open('login_lock.txt','r')#打开锁定文件查看输入的账户是否被锁定
lines = fp.readlines()#读取所有行
while T== False:
for line in lines:
if line.split(',')[0] == username:
print("帐号已被锁定 !")
username = input("用户名: ")
password = input("密码: ")
break
T=True
fp.close() T = False
fp_user = open('user_info.txt','r')#打开用户信息文件:
lines = fp_user.readlines()
for line in lines:
if line.split(',')[0] == username:
if line.split(',')[1] == password+'\n'or line.split(',')[1] == password:
print("登入成功 !")
T = True
break
fp_user.close() if T == False:#登入失败了
ErrNums += 1
if ErrNums >= 3:
fp_user = open('login_lock.txt','a')
print("账户已被锁定 !")
fp_user.write('\n'+username)
fp_user.close()
break
print("账户名或密码错误 !")
username = input("用户名: ")
password = input("密码: ")
else:
break
elif getNum == 2:#注册
fp= open('user_info.txt','r')#打开用户信息文件:
T = False
lines = fp.readlines() # 读取所有行
while T == False:
for line in lines:
if line.split(',')[0] == username:
print("帐号已存在,请重新输入 !")
username = input("用户名: ")
password = input("密码: ")
break
T = True
fp.close()
fp = open('user_info.txt', 'a') # 打开用户信息文件:
fp.write(username+','+password+'\n')
print("注册成功 !")

  user_info.txt文件的内容如下图:

    

  代码的重要部分都有注解,txt文件的创建目前存放于此工程的根目录中,使用相对路径方便调用,如不在此工程根目录中则代码中的路径需要改成绝对路径,否则程序运行后会有bug。代码中仍有不完善的地方,望有经验的朋友给予指出与探讨。

python编辑用户登入界面的更多相关文章

  1. [Django]登陆界面以及用户登入登出权限

    前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF  = 'www.urls'# ...

  2. python基础篇---实战---用户登入注册程序

    一.首先了解需求: 1.支持多个用户登入 2.登入成功后显示欢迎,并退出程序 3.登入三次失败后,退出程序,并在下次程序启动尝试登入时,该用户名依然是锁定状态 二.文件代码如下: f = open(& ...

  3. iOS开发——实用篇Swift篇&QQ登入界面实现

    QQ登入界面实现 我们知道在App Store中几乎所有软件都设计到账户的登入,而我们最常见的就是QQ,微信,在没有踏入程序员这条不归路之前,看到一个个的界面都感觉好高大上的样子. 在学习的过程中,自 ...

  4. Unity 使用 陀螺仪 实现 《王者荣耀》 登入界面 背景动态效果

    在 <王者荣耀> 登入界面 左右上下晃动手机(有些手机不支持)可以看到背景在变化 我使用的是iPhone SE 效果如下: 对比两张图片的左下角 可以看到差异 至于为什么要这么做: 1.使 ...

  5. Struts2+AJAX+JQuery 实现用户登入与注册功能。

    要求 必备知识 JAVA/Struts2,JS/JQuery,HTML/CSS基础语法. 开发环境 MyEclipse 10 演示地址 演示地址 预览截图(抬抬你的鼠标就可以看到演示地址哦): 关于U ...

  6. Django,COOKIES,SESSION完成用户登入

    1.urls.py """Django_cookie_session URL Configuration The `urlpatterns` list routes UR ...

  7. Struts2+AJAX+JQuery 实现用户登入与注册功能

    要求:必备知识:JAVA/Struts2,JS/JQuery,HTML/CSS基础语法:开发环境:MyEclipse 10 关于UI部分请查看下列链接,有详细制作步骤: 利用:before和:afte ...

  8. PCB 720全景图嵌入登入界面应用实现

    通常软件主界面或登入界面背景图片通常采用固定图片,这里介绍如何将720度全景图嵌入到登入界面中来, 这里用的素材来源于这里上个月在公司里拍摄的全景图, 一.拍摄720度全景图片, 建议:最好用三角固定 ...

  9. 【转】vsftpd用户登入不进去问题

    实在是登陆不上... 我已经加了一个新的用户UID和GID都设置到1000以后 /etc/vsftpd.conf也加了local_enable=yes 以standalone模式运行. 重启服务器后, ...

随机推荐

  1. JNI由浅入深_7_c调用Java方法一

    1.在Java中声明方法 <span style="font-size:14px;">/** * javah -encoding utf-8 -jni com.exam ...

  2. spring cloud config将配置存储在数据库中

    Spring Cloud Config Server最常见是将配置文件放在本地或者远程Git仓库,放在本地是将将所有的配置文件统一写在Config Server工程目录下,如果需要修改配置,需要重启c ...

  3. activiti获取到流程图节点信息之任务节点

    //获取bpmnModel对象 BpmnModel model1 = new BpmnJsonConverter().convertToBpmnModel(modelNode); //由于我们这里仅仅 ...

  4. [NOI2015]软件包管理器(树链剖分,线段树)

    题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...

  5. Elastix 2.4 双服务器热备搭建文档

    一.     背景知识 本文档将会用到以下两个重要的组件: a)     DRBD DRBD的全称为:Distributed Replicated Block Device,意为分布式块设备复制, D ...

  6. shell习题第3题:统计内存大小

    [题目要求] 写一个脚本计算一下linux系统所有进程占用内存的大小的和 [核心要点] ps命令用法 for循环 加法运算 [脚本] #!/bin/bash for n in `ps aux | gr ...

  7. Linux系统Java环境配置

    1.卸载Linux系统自带的JDK java -version rpm -qa | grep -i java 我们要删除掉自带的JDK环境 rpm -e --nodeps java-1.6.0-ope ...

  8. Docker集群部署SpringCloud应用

    整体架构 docker环境准备 # linux下的安装,自行百度 # windows docker toolbox下载地址 https://download.docker.com/win/stable ...

  9. HBase操作一

    package Hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.a ...

  10. IOS 可以连接 蓝牙BLE设备,但是无法发现服务(原创)

    注:转载请标明文章来源,感谢支持作者劳动! 一.问题描述 用iphone手机上的nRF connect软件调试蓝牙通信. 1.nRF52蓝牙demo电路板,烧录一个SDK的程序,iphone手机可以成 ...