• 16.python模拟登录程序和三级菜单


    模拟登录程序需求:

    1. 用户输入帐号密码进行登陆

    2. 用户信息保存在文件内

    3. 用户密码输入错误三次后锁定用户

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    i=0
    while i<3:
        username = input("请输入您的用户名:")
        lock_file = open('account_lock','r')
        lock_list = lock_file.readlines()
        for lock_line in lock_list:
            lock_line =lock_line.strip('
    ')
            if username == lock_line:
                lock_file.close()
                exit("您的账户已被锁定")
        user_account = open('user_account','r')
        user_list = user_account.readlines()
        for user in user_list:
            (user_infile,password_infile) = user.strip('
    ').split()
            if username == user_infile:
                j=0
                while j<3:
                    password=input("请输入您的密码:")
                    if password == password_infile:
                        user_account.close()
                        exit("登录成功,欢迎您")
                    else:
                        print("您输入的密码错误,您还有%s次机会输入"%(2-j))
                    j += 1
                else:
                    lock_file = open('account_lock','a')
                    lock_file.write(username +'
    ')
                    exit("密码输入次数超限,您的用户已被锁定")
        else:
            print("您输入的用户名不存在,您还有%s次机会"%(2-i))
            i += 1
    lock_file.close()
    user_account.close()

    三级菜单

    作业需求:

    1. 运行程序输出第一级菜单

    2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单

    3. 菜单数据保存在文件中

    4. 让用户选择是否要退出

    5. 有返回上一级菜单的功能

     代码如下:

    # Author:pengp
    # !/usr/bin/env python
    # -*- coding: utf-8 -*-
    menu = {
        "上海": {
            "浦东": ["张江", "唐镇"],
            "嘉定": ["娄塘", "封浜"],
            "宝山": ["罗店", "月浦"]
        },
        "北京": {
            "海淀": ["上地", "中关村"],
            "朝阳": ["朝阳一镇", "朝阳二镇"]
        },
        "江苏": {
            "南京": ["浦口", "六合"],
            "苏州": ["昆山", "太仓"],
            "南通": ["如东", "启东"]
        },
        "湖北": {
            "武汉": ["汉口", "武昌"],
            "黄冈": ["麻城", "罗田"],
            "孝感": ["应城", "大悟"]
        }
    
    }
    
    current_level = menu
    last_level = []
    while True:
        for key in current_level:
            print(key)
        choice = input(">>>:")
        if len(choice) == 0:continue
        if choice == "b":
            if not last_level : break
            current_level = last_level[-1]
            last_level.pop()
        elif choice == 'q':
            exit("退出成功")
        if choice not in current_level:continue
        last_level.append(current_level)
        current_level = current_level[choice]
  • 相关阅读:
    元素单侧阴影效果
    有关动画的总结
    吸底效果
    使用seajs来引入js代码
    引用POPUI来实现弹窗效果,且弹窗中的内容可以点击事件
    Js文本溢出自动添加省略号ellipsis
    line-hieght与vertical-align的区别与联系
    实现文本框中输入限制字数的效果
    下拉菜单的实现
    基本SQL命令 (1.SQL命令使用规则/2.库管理/3.表管理/4.表记录管理/5.更改库,库的默认字符集/6.连接数据库的过程/7.数据类型)
  • 原文地址:https://www.cnblogs.com/pengp/p/6832881.html
Copyright © 2020-2023  润新知