Python小程序分享01——用Python实现账号登录与注册界面【EasyGui】

0.安装EasyGui

软件请到官网下载:http://easygui.sourceforge.net
或者给大家分享百度网盘:链接:https://pan.baidu.com/s/16scCGeQjA0pX97PJyHyIWw 提取码:51or

windows下建议安装方法如下:
1. 将easygui安装包文件夹解压后放在桌面;
2. 进入命令窗口:开始菜单栏打开“运行”,输入“cmd”回车;
3. 进入桌面:输入“cd Desktop”之后回车;
4. 进入桌面的easygui文件夹:输入“cd easygui-0.96”回车;
5. 输入自己python.exe文件的位置,如“D:\软件\Python\python.exe setup.py install”之后回车,会显示安装信息,安装结束。
6. 检查:打开python.exe文件所在目录,打开“Lib”文件夹下“site-packages”文件夹,可以看到easygui.py等文件。

至此,安装结束~~~小菜一碟!

1.程序案例

下面是一个100行左右的小程序,旨在练习easygui和文件操作的一些简单函数,代码虽多,原理很简单,一个小程序,easygui库就可以入门啦~行动起来吧。

Python版本: Python3.x
运行平台: Windows

效果图:

这里写图片描述

完整代码:

# 本程序旨在练习easygui和文件操作的一些简单函数
# 本程序是用python来实现账号登录及注册界面,实现的基本功能如下:
#   1.如不登录与注册,则直接进入游客界面
#   2.如选择登录,会自动核对用户名与密码是否正确,如用户名不存在,则选择进入注册界面
#   3.在注册界面,会自动检查用户名是否已经存在

import easygui as g
import sys

# 登录函数,用户名已注册为实现
def DengLu():
    fields = ('用户名:', '密码:')
    msg = '请输入用户名和密码:'
    title = '登录'
    yonghu = g.multpasswordbox(msg, title, fields)

    if yonghu == None or yonghu == ['', '']:
        g.msgbox('游客你好,欢迎来到我们的python学习园地!', ok_button='确定 ')
        return 2
    else:
        # 将用户名读取在list1中
        list1 = []
        ZhangHao = open('zhanghao.txt')
        for each_line in ZhangHao:
            (zhanghao_, huiche_) = each_line.split('\n')
            list1.append(zhanghao_)
        ZhangHao.close()

        # 将密码读取在list2中
        list2 = []
        MiMa = open('mima.txt')
        for each_line in MiMa:
            (mima_, huiche_) = each_line.split('\n')
            list2.append(mima_)
        MiMa.close()

        # 确认用户名和密码是否存在并且匹配
        for X in list1:
            if X == str(yonghu[0]) and list2[list1.index(X)] != str(yonghu[1]):
                g.msgbox('密码错误,请重新输入!', ok_button='确定 ')
                return 0
                break
            elif X == str(yonghu[0]) and list2[list1.index(X)] == str(yonghu[1]):
                g.msgbox(str(yonghu[0]) + '你好,欢迎来到我们的python学习园地!', ok_button='确定 ')
                return 2
                break
        if str(yonghu[0]) not in list1:
            g.msgbox('账号不存在,请注册:', ok_button='确定 ')
            return 1

# 注册函数
def ZhuCe():
    values = []
    def zhuce():
        msg = '*为必填项'
        title = '账号中心'
        fields = ['*用户名', '*密码', 'QQ']
        return g.multenterbox(msg, title, fields, values)

    YongHuZhuCe = zhuce()
    if YongHuZhuCe == None:
        g.msgbox('游客你好,欢迎来到我们的python学习园地!', ok_button='确定 ')
        return 2
    else:
        while YongHuZhuCe[0] == '' or YongHuZhuCe[1] == '':
            g.msgbox('用户名或密码不能为空!', ok_button='继续填写 ')
            values = [YongHuZhuCe[0], YongHuZhuCe[1], YongHuZhuCe[2]]
            YongHuZhuCe = zhuce()

        # 检验用户名是否被占用
        list3 = []
        ZhangHao = open('zhanghao.txt')
        for each_line in ZhangHao:
            (zhanghao_, huiche_) = each_line.split('\n')
            list3.append(zhanghao_)
        ZhangHao.close()
        while str(YongHuZhuCe[0]) in list3:
            g.msgbox('该用户名已被占用!', ok_button='重新输入 ')
            YongHuZhuCe = zhuce()

        # 将账号密码分别存储在两个txt文件内
        ZhangHao = open('zhanghao.txt', 'a')
        ZhangHao.write(YongHuZhuCe[0] + '\n')
        ZhangHao.close()
        MiMa = open('mima.txt', 'a')
        MiMa.write(YongHuZhuCe[1] + '\n')
        MiMa.close()
        return 0

def main():
    # 创建两个txt临时文件,分别用于存放用户名和密码
    ZhangHao = open('zhanghao.txt', 'w')
    MiMa = open('mima.txt', 'w')
    ZhangHao.close()
    MiMa.close()

    # 输入邀请码
    password = '111111'
    while password != '000000':
        password = g.passwordbox('请输入邀请码(默认“000000”):', '即将开始easygui简单练习!')
        if password == None:
            sys.exit(0)  # user chose to cancel,退出程序

    while 1:
        # 请选择登录或者注册
        choices = ['已有账号,直接登录', '开始注册']
        choice = 0
        choice = g.indexbox('登录/注册:', '请选择:', choices=choices)

        # 登录
        while choice == 0:
            choice = DengLu()

        # 注册
        while choice == 1:
            choice = ZhuCe()
            if choice == 0:
                # 注册成功重新切入登录页面
                g.msgbox('注册成功,即将进入登录页面!', ok_button='确定 ')
                choice = DengLu()
        if choice == 2:
            g.msgbox('已完成登录或以游客身份进入,这部分可以随意发挥了', ok_button='确定 ')

        msg = "是否要重新开始?"
        title = "请选择"
        if g.ccbox(msg, title, choices=('再来一次', '退出程序')):
            pass  # user chose to continue
        else:
            sys.exit(0)  # user chose to cancel,退出程序

main()
  • 17
    点赞
  • 101
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值