当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-12-14 15:06

    这篇文章主要介绍了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!")

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。