第一週:模擬登錄、三級菜單

1、學習內容python

  python數據類型ide

  字符串的經常使用操做函數

      列表: products=['book','glass','computer','bike']學習

      元組: products=('book','glass','computer','bike')    (元組又叫只讀列表)spa

  字典: info={code

      'stu1101':"zhangsan"orm

      'stu1102':"lisi"blog

      'stu1103':"wangwu"utf-8

      }ci

      一種Key--Value的數據類型;特性是dict無序、key惟一。

 

2、做業  

  模擬登錄:

  1. 用戶輸入賬號密碼進行登錄

  2. 用戶信息保存在文件內

  3. 用戶密碼輸入錯誤三次後鎖定用戶

   流程圖:

 1 import getpass
 2 
 3 count=0
 4 #輸入登陸用戶名
 5 username=input("username:")
 6 #在黑名單中查找用戶名
 7 with open("lockinfo",'r',encoding='utf-8') as f_lock:
 8     while 1:  #循環查找,不知道循環次數時用while
 9         line=f_lock.readline()
10         if not line:
11             break#退出循環
12         q=line.replace("\n", "")
13         if username==q: #存在黑名單中
14             print("用戶已被鎖定,沒法登陸")
15             exit()#退出程序
16 #在用戶信息表中查找用戶名
17 with open("userinfo",'r+',encoding='utf-8') as f:
18     data=f.read()
19     b=eval(data)#字符串轉換成字典函數
20     while 1:
21         if username in b.keys():
22             for i in range(3):#輸入密碼3次
23                 count+=1
24                 password=input("password:")
25                 if count<4:
26                     if password==b[username]:
27                         print("登陸成功")
28                         exit()
29                     else:
30                         print("您還有{n}次輸入機會,超過3次帳號將被鎖定".format(n=3-count))
31                 if count==3:
32                     print("帳號已被鎖定")
33                     with open("lockinfo",'a+',encoding='utf-8') as f_lock:
34                         f_lock.write(username+'\n')
35                         exit()
36         else:
37             print("用戶名不存在,請從新輸入")
38             username=input("username:")
39             continue
View Code

 

 

  三級菜單:

  1. 運行程序輸出第一級菜單

  2. 選擇一級菜單某項,輸出二級菜單,同理輸出三級菜單

  3. 菜單數據保存在文件中

  4. 讓用戶選擇是否要退出

  5. 有返回上一級菜單的功能

  流程圖:

 1 #打開文件,讀菜單內容
 2 with open('docs/1-2cityinfo','r+',encoding='utf-8') as f_cityinfo:
 3     #轉換成字典
 4     data=eval(f_cityinfo.read())
 5     #打印字典key值
 6 flag=True
 7 while flag:
 8     for i in data:
 9         print(i)
10     choice1=input("請輸入一級菜單項內容,q退出>>:")
11     if choice1=='q':
12         exit()
13     while flag:
14         if choice1 in data:
15             for i2 in data[choice1]:
16                 print("\t",i2)
17             choice2=input("請輸入二級菜單項內容,q退出,b返回>>:")
18             if choice2=='q':
19                 exit()
20             if choice2=='b':
21                 break
22             if choice2 in data[choice1]:
23                 while flag:
24                     for i3 in data[choice1][choice2]:
25                         print("\t",i3)
26                     choice3=input("q退出,b返回>>:")
27                     if choice3=='q':
28                         exit()
29                     if choice3=='b':
30                         break
31     continue
View Code
相關文章
相關標籤/搜索