用裝飾器做乙個登陸系統

2022-08-29 07:57:09 字數 4525 閱讀 5092

主頁分為四個板塊:原創軟體,精品軟體,灌水專區,福利專區。原創軟體,精品軟體可以瀏覽,灌水專區,福利專區需要登陸後瀏覽,支援qq登陸和本地登陸兩種方式,使用者系統支援增刪改查功能(學習完正則之後再修改),需要留使用者名稱密碼手機三個 選項。

logeinflag =false

def rand(): #

四位數字驗證碼

import

random

randlist =

for i in range(4):

c = random.randint(48, 57)

b = ''

.join(randlist)

print

(b) userrand = input('

輸入驗證碼

').strip()

if userrand !=b:

print('

驗證碼錯誤')

rand()

return

true

def reg(): #

註冊global

logeinflag, username, userpwd, userphone

username = input('

輸入使用者名稱

').strip()

userpwd = input('

輸入密碼

').strip()

userphone = input('

輸入**

').strip()

if rand() and

same():

with open(

'base.txt

', '

a+', encoding='

utf-8

') as regtxt:

new = '^^'

.join([username, userpwd, userphone])

regtxt.write('\n

' +new)

logeinflag =true

print('

註冊成功,已經登入')

main()

else

:

return

reg()

return

true

def same(): #

查重 with open('

base.txt

', '

r', encoding='

utf-8

') as sametxt:

for i in

sametxt:

if username == i.split('^^'

)[0]:

print('

使用者名稱已經被占用,請重新輸入')

return

false

return

true

defouter(func):

def logein(): #

登陸global

logeinflag

if logeinflag ==false:

choicelogein = input('

選擇登陸方式:1.qq 2.本地賬號 3.註冊')

if choicelogein == '1'

: with open(

'qq.txt

', '

r', encoding='

utf-8

' username = input('

輸入使用者名稱

').strip()

userpwd = input('

輸入密碼

').strip()

for i in

if username == i.split('

^^')[0] and userpwd == i.split('

^^')[1]:

logeinflag =true

print('

登陸成功')

main()

else

:

print('

使用者名稱密碼錯誤')

logein()

if choicelogein == '2'

: with open(

'base.txt

', '

r', encoding='

utf-8

') as base:

username = input('

輸入使用者名稱

').strip()

userpwd = input('

輸入密碼

').strip()

for i in

base:

if username == i.split('

^^')[0] and userpwd == i.split('

^^')[1]:

logeinflag =true

print('

登陸成功')

main()

else

:

print('

使用者名稱密碼錯誤')

logein()

if choicelogein == '3'

: reg()

func()

return

logein

defsoft():

print('

歡迎進入精品軟體區')

print('

瀏覽選擇1,回帖選擇2')

choiceitme = input('

請輸入選擇的序號:')

if choiceitme == '1'

:

print('

瀏覽內容')

if choiceitme == '2'

:

print('

回帖內容')

return

main()

deforig():

print('

歡迎進入原創軟體區')

print('

瀏覽選擇1,回帖選擇2')

choiceitme = input('

請輸入選擇的序號:')

if choiceitme == '1'

:

print('

瀏覽內容')

if choiceitme == '2'

:

print('

回帖內容')

return

main()

@outer

defenter():

print('

歡迎進入灌水專區')

print('

瀏覽選擇1,回帖選擇2')

choiceitme = input('

請輸入選擇的序號:')

if choiceitme == '1'

:

print('

瀏覽內容')

if choiceitme == '2'

:

print('

回帖內容')

return

main()

@outer

defwelf():

print('

歡迎進入福利專區')

print('

瀏覽選擇1,回帖選擇2')

choiceitme = input('

請輸入選擇的序號:')

if choiceitme == '1'

:

print('

瀏覽內容')

if choiceitme == '2'

:

print('

回帖內容')

return

main()

defmain():

print('

choice zone

'.center(50, '*'

))

print('''

1.精品軟體

2.原創軟體

3.灌水專區

4.福利專區

''')

choicezone = input('

請輸入選擇的序號:')

if choicezone == '1'

: soft()

if choicezone == '2'

: orig()

if choicezone == '3'

: enter()

if choicezone == '4'

: welf()

main()

做乙個 有限制的登陸視窗

要求 布局大概是這個樣子。性別預設屬性為true 生日用的datatimepiker 民族是combobox 屬性dropdownstyle修改為dropdownlist 這是窗體 每個控制項的限制,和 事件 public partial class form1 form private void ...

用Python做乙個名片管理系統

該程式包含選單模組,具有新增 修改 刪除 指定查詢名片資訊的功能。coding gbk defdisplay menu print 10 print gf名片管理系統1.0 print 1.新增名片 print 2.刪除名片 print 3.修改名片 print 4.查詢名片 print 5.獲取所...

乙個裝飾器裝飾乙個函式

2 如果鍵不存在,則新增到字典中。請使用裝飾器來實現,順便複習下 args和 kwargs的用法 a defselect func def inner args,kwargs if len args 0 if kwargs key in kwargs data print 鍵存在 else func...