zoukankan      html  css  js  c++  java
  • Python之路—Day1作业

    作业:编写登陆接口

    • 输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后锁定

    一、本程序包含文件:
    1、用户登录.py :主程序
    2、account.txt :存储用户名密码
    3、lock.txt :存储锁定的用户名
    4、用户登录.jpg :程序执行流程图
    5、ReadMe.txt :程序说明文档

    二、程序说明:
    用户登陆,输入用户名密码,输入正确显示欢迎信息,输入错误三次后锁定该用户。

    三、用到的知识点:
    input 用户输入
    if 判断
    for 循环
    open 文件操作
    break 跳出循环

    四、流程图

     1 #!/usr/bin/env python
     2 #    -.-    coding: utf-8    -.-
     3 # by sandler
     4 account_file = 'account.txt'
     5 #用户列表,包含用户名和密码
     6 lock_file = 'lock.txt'
     7 #锁定用户列表
     8 
     9 for i in range(3):
    10     username = input("username: ").strip()
    11     password = input("password: ").strip()
    12     if len(username) !=0 and len(password) !=0: #判断用户输入是否为空
    13         lf = open(lock_file,'r')
    14         lockSuccess = False
    15         for lf_line in lf.readlines():
    16             lf_line = lf_line.split()
    17             if username  == lf_line[0]: #判断用户输入的用户名是否在锁定列表
    18                 print("Locked %s." % username)
    19                 lockSuccess = True
    20                 lf.close()
    21                 break
    22         if lockSuccess is True:
    23             break
    24         af = open(account_file,'r')
    25         loginSuccess = False
    26         for af_line in af.readlines():
    27             af_line = af_line.split()
    28             if username  == af_line[0] and password == af_line[1]:  #判断用户输入的用户名密码是否在用户列表
    29                 print("Welcon %s login my system" % username)
    30                 loginSuccess = True
    31                 break
    32         if loginSuccess is True:
    33             break
    34     else:
    35         continue
    36 else:
    37     f = open(lock_file,'a')
    38     f.write('%s
    ' % username)
    39     f.close()
    40     #如果三次输入错误,把最后一次输入写入到lock.txt
    41     print("Enter the %s is wrong,be locked!" % username)
    login
    作业:多级菜单
    • 三级菜单
    • 可依次选择进入各子菜单
    • 所需新知识点:列表、字典

    一、本程序包含文件:
    1、用户登录.py :主程序
    2、多级菜单.jpg :程序执行流程图
    3、ReadMe.txt :程序说明文档

    二、程序说明:
    执行程序,显示欢迎信息,并自动打印第一层菜单,提示用户输入想要访问菜单名,根据用户输入判断打印下一级菜单,按b返回,按q退出。

    三、用到的知识点:
    input 用户输入
    if 判断
    for 循环
    break 跳出循环
    import 导入模块
    sys sys模块
    sys.exit() 退出程序

    四、流程图

     1 #!/usr/bin/env python
     2 #    -.-    coding: utf-8    -.-
     3 # by sandler
     4 import sys
     5 welcome = '''
     6     ******************************************************************
     7     *                                                                *
     8     *                    33[31m欢迎进入地区信息浏览系统33[0m                    *
     9     *                                                                *
    10     ******************************************************************
    11                                                       33[31m退出请按Q33[0m
    12 '''
    13 index_dic = {
    14     "天津":{
    15         "和平区":["小白楼","劝业场","体育馆"],
    16         "河西区":["挂甲寺","桃园","大营门"]
    17     },
    18     "北京":{
    19         "海淀区":["中关村","五道口","上地"],
    20         "朝阳区":["安贞","国贸","管庄"]
    21     },
    22     "河北":{
    23         "保定":["徐水区","竞秀区","满城区"],
    24         "石家庄":["新华区","长安区","裕华区"]
    25     }
    26 }
    27 print(welcome)
    28 
    29 for i in index_dic:
    30     print(i)    #打印第一层菜单
    31 print ("-------------------------------------------------")
    32 for i in range(3):
    33     shi_input = input("请输入你要查看的地区名字,按q退出: ")
    34     if shi_input == "q":    #判断用户输入是否为“q”,
    35         sys.exit(0) #用户输入“q”退出
    36     if shi_input in index_dic:
    37         qu_name = index_dic[shi_input]
    38         jd_name = qu_name.keys()
    39         while True:
    40             for i in jd_name:   #遍历列表,取出地区名字
    41                 print (i)   #打印第二层菜单
    42             qu_input = input("请输入你要查看的区名字,按b返回,按q退出: ")
    43             if qu_name == "q":
    44                 sys.exit(0)
    45             if qu_input in jd_name: #判断用户输入是否在列表中
    46                 shi_name = index_dic[shi_input][qu_input]
    47                 for i in shi_name:
    48                     print (i)   #打印第三层菜单
    49 
    50             if qu_input not in jd_name: #判断输入是否在列表中
    51                 print ("您输入的信息有误,请重新输入: ")
    52                 continue
    53             back_or_quit = input("已到最后,按b:Back是返回上一级菜单;按q:Exit是退出整个程序: ")
    54             if back_or_quit == "q":
    55                 sys.exit(0)
    56                 break
    57             if back_or_quit == "b":
    58                 continue
    59             print ("您输入的信息有误,请重新输入: ")
    60 else:
    61     print ("3次输入错误,程序退出")
    多级菜单
  • 相关阅读:
    猿辅导-去除数组中数量大于k的数
    OSI体系结构各层协议
    京东-学生合唱队分组
    146-LRUCache
    76-最长上升子序列
    无序数组中三个数字乘积最大值
    38-字符串的排列
    35-复杂链表的复制
    208-Implement Trie(Prefix Tree)
    69-求一个整数的平方根
  • 原文地址:https://www.cnblogs.com/sandler613/p/5491153.html
Copyright © 2011-2022 走看看