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 logging类库使用例子
Nov 22 Python
Python作用域用法实例详解
Mar 15 Python
Python利用IPython提高开发效率
Aug 10 Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
python3.7 的新特性详解
Jul 25 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
Feb 29 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
详解python的super()的作用和原理
Oct 29 Python
详解OpenCV曝光融合
Apr 29 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
原生js开发的日历插件
2017/02/04 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue父组件给子组件的组件传值provide inject的方法
2019/10/23 Javascript
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python控制Firefox方法总结
2019/06/03 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
基于Python中的yield表达式介绍
2019/11/19 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
云台山导游词
2015/02/03 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书