1import time
2 status_dic =
67 flag1 =true
89 def login(*args,**kwargs):
10 i = 0
11while i < 3
:12 username = input('
請輸入使用者名稱:
').strip()
13 password = input('
請輸入密碼:
').strip()
14 with open('
register
',encoding='
utf-8
') as
f1:15
for line in
f1:16 line_list =line.strip().split()
17if username == line_list[0] and password == line_list[1
]:18 print('
登入成功')
19 status_dic['
username
'] =username
20 status_dic['
status
'] =true
21return
true
22else
:23 print('
輸入不正確,請重新輸入,還剩%s機會
' % (2-i))
24if i == 2: return
quit()
25 i += 1
2627
28 def register(*args, **kwargs):
29 flag =true
30while
flag:
31 username = input('
請輸入要註冊的使用者名稱:')
32 f1 = open('
register
',encoding='
utf-8')
33for i in
f1:34
if username in
i:35 print('
使用者名稱重複,請重新輸入')
36f1.close()
37break
38else:39
f1.close()
40 password = input('
請輸入要註冊的密碼:
').strip()
41 f2 = open('
register
', encoding='
utf-8
', mode='a'
)42 f2.write('
\n{}\t{}
'.format(username, password))
43f2.close()
44 print('
恭喜你,註冊成功,已經自動為您登入.....')
45 status_dic['
username
'] =username
46 status_dic['
status
'] =true
47return
true
4849
5051 def inner(*args,**kwargs):
52if status_dic['
status']:
53 ret = func(*args,**kwargs)
54return
ret55
else
:56 print('
請先進行登入')
57if
login():
58 ret = func(*args, **kwargs)
59return
ret60
return
inner
6162
def log_record(func):
63 def inner(*args,**kwargs):
64 struct_time =time.localtime()
65 time_now = time.strftime("
%y-%m-%d %h:%m:%s
", struct_time)
66 with open('
log_func
','a
',encoding='
utf-8
') as
f1:67 f1.write('
使用者:%s 在%s 執行了 %s函式\n
'%(status_dic['
username
'],time_now,func.__name__))
68 ret = func(*args,**kwargs)
69return
ret70
return
inner
7172
73@log_record
74def article():
75 print('
' % status_dic['
username'])
7677
78@log_record
79def diary():
80 print('
歡迎%s訪問日記頁面
' % status_dic['
username'])
8182
83@log_record
84def comment():
85 print('
' % status_dic['
username'])
8687
88@log_record
89def enshrine():
90 print('
歡迎%s訪問收藏頁面
' % status_dic['
username'])
9192
93def login_out():
94 status_dic['
username
'] =none
95 status_dic['
status
'] =false
96 print('
登出成功')
9798
def quit():
99global
flag1
100 flag1 =false
101return
flag1
102103 choice_dict =
113114
115while
flag1:
116 print('')
117 choice = input('
請輸入您選擇的序號:
').strip()
118if
choice.isdigit():
119 choice = int
(choice)
120if
0< choice <=len(choice_dict):
121choice_dict[choice]()
122else
:123 print('
您輸入的超出範圍,請重新輸入')
124125
else
:126 print('
您輸入的選項有非法字元,請重新輸入。
')
部落格園作業1
一 思維導圖 二 c語言語法 1.if else語句 if 條件句 else 2.switch case語句 switch 表示式 注意事項 只要符合表示式就走下面的語句,遇到break時跳出迴圈。如果沒有乙個case可執行就會執行default,執行完就退出。3 for語句 for 語句1 語句2...
部落格園最新作業
1 思維導圖 2 語法認識 1 if if 條件 else 若只有單個語句可不加 可巢狀使用,else跟最近的if使用,表示條件,如果怎麼樣就怎麼樣,否則怎麼樣。遇到的問題 else匹配的if有時會弄錯。忘記加 解決方法 多寫幾遍就不會錯了。2 switch switch 條件 跟if的用法差不多但...
python部落格園 python 模擬部落格園系統
作業 用 模擬系統。專案分析 一 首先程式啟動,頁面顯示下面5內容供使用者選擇 1.請登入 2.請註冊 3.進入文章頁面 5.進入日記頁面 6.進入收藏頁面 7.登出賬號 8.退出整個程式 二 必須實現的功能 1.註冊功能要求 a.使用者名稱 密碼要記錄在檔案中。b.使用者名稱要求 只能含有字母或者...