python如何实现不用装饰器实现登陆器小程序


Posted in Python onDecember 14, 2019

这篇文章主要介绍了python如何实现不用装饰器实现登陆器小程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

下面代码演示了不使用装饰器实现用户登陆功能的小程序,在python3.x下可正常运行

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 26 15:26:58 2019

@author: root
"""

def menu():
  print('choice'.center(50,'-'))
  msg = '''
  1. home
  2. finance
  3. book
  4. exit
  '''
  print(msg)
  print("".center(50,'-'))
 
def login(login_flat,choice):
  if not login_flat:
    while True:
      username = str(input("username:"))
      password = str(input("password:"))
      if choice == '1':
        home()
        with open('jingdong.txt','r') as f1:
          for line in f1:
            element = line.split(" ",1)
            print(element[0])
            print(element[1])
            if username.strip() == element[0].strip() and password.strip() == element[1].strip():
              print("log in successful!")
              return True
            print("failed to log in!,try it again!")
      elif choice == '2':
        finance()
        with open('weixin.txt','r') as f2:
          for line in f1:
            element = line.split(" ",1)
            if username.strip() == element[0].strip() and password.strip() == element[1].strip():
              print("log in successful!")
              return True
            print("failed to log in!,try it again!")   
      elif choice == '3':
        book()
        with open('jingdong.txt','r') as f3:
          for line in f3:
            element = line.split(" ",1)
            if username.strip() == element[0].strip() and password.strip() == element[1].strip():
              print("log in successful!")
              return True
            print("failed to log in!,try it again!")              
  else:
    print("You have logged in before!")
    return True
#@login(login_flat,choice)            
def home():
  print("home.....")
#@login(login_flat,choice) 
def finance():
  print("finance.....")
#@login(login_flat,choice) 
def book():
  print("book.....")

  
login_flag = False
while True:
  menu()
  choice = input("your choice:")
  if choice == '1':
    login_flag = login(login_flag,choice)
  elif choice == '2':
    login_flag = login(login_flag,choice)
  elif choice == '3':
    login_flag = login(login_flag,choice)
  elif choice == '4':
    print('bye-bye')
    break
  else:
    print("wrong input ,try it again!")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动重试HTTP连接装饰器
Apr 28 Python
python解析基于xml格式的日志文件
Feb 25 Python
如何使用Python标准库进行性能测试
Jun 25 Python
python装饰器常见使用方法分析
Jun 26 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 Python
Python如何使用27行代码绘制星星图
Jul 20 Python
python使用建议技巧分享(三)
Aug 18 Python
Python中Selenium对Cookie的操作方法
Jul 09 Python
Python基本数据类型之字符串str
Jul 21 Python
Python机器学习应用之基于线性判别模型的分类篇详解
Jan 18 Python
python模块和包的应用BASE_PATH使用解析
Dec 14 #Python
python socket通信编程实现文件上传代码实例
Dec 14 #Python
python如何使用socketserver模块实现并发聊天
Dec 14 #Python
python paramiko远程服务器终端操作过程解析
Dec 14 #Python
安装PyInstaller失败问题解决
Dec 14 #Python
django自定义模板标签过程解析
Dec 14 #Python
django序列化serializers过程解析
Dec 14 #Python
You might like
JavaScript 学习点滴记录
2009/04/24 Javascript
JS保存、读取、换行、转Json报错处理方法
2013/06/14 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
2017/02/08 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
python 用struct模块解决黏包问题
2020/11/07 Python
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
通信工程专业个人找工作求职信范文
2013/09/21 职场文书
全国文明单位申报材料
2014/05/31 职场文书
代办出身证明书
2014/10/21 职场文书
国王的演讲观后感
2015/06/03 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
redis三种高可用方式部署的实现
2021/05/11 Redis
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS