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次输入错误,程序退出")
多级菜单
原文地址:https://www.cnblogs.com/sandler613/p/5491153.html