python 04《關於字典 鍵必須是可雜湊的》

2021-07-05 06:09:57 字數 2486 閱讀 3947

此指令碼來自《python核心程式設計》-映像型別:字典(python中唯一的映像型別)

# -* - coding: utf-8 -* -        #===》提供中文注釋

#!/usr/bin/env python

db = {} #===》建立乙個空的字典

defnewuser

(): prompt = 'login desired: '

while

true:

name = raw_input(prompt) #===》獲取使用者輸入之前,先列印字串

if db.has_key(name): #===》可以使用in 或是not in 替代,判斷db字典中是否已經存在『name』健

prompt = 'name taken, try another: '

continue

else:

break

pwd = raw_input('passwd: ')

db[name] = pwd #===》密碼存在對應的健-值對中

defolduser

(): name = raw_input('login: ')

pwd = raw_input('passwd: ')

passwd = db.get(name) #===》獲取db字典中『name』健對應的值

if passwd == pwd:

print

'welcome back', name

else:

print

'login incorrect'

defshowmenu

(): prompt = """

(n)ew user login

(e)xisting user login

(q)uit

enter choice: """

done = false

while

not done:

chosen = false

while

not chosen:

try:

choice = raw_input(prompt).strip()[0].lower() #===》獲取輸入字串中,左邊第乙個字元,取小寫

except (eoferror, keyboardinterrupt):

choice = 'q'

print

'\nyou picked: [%s]' % choice

if choice not

in'neq': #===》如果choice不包括在『neq中』

print

'invalid option, try again'

else:

chosen = true

if choice == 'q':done = true

if choice == 'n':newuser()

if choice == 'e':olduser()

if __name__ == '__main__': #===》指令碼開始

showmenu()

測試1:輸入『n』,新增新使用者

----------

d:\python27\test>atest.py

(n)ew user login

(e)xisting user login

(q)uit

enter choice: n #===》輸入

you picked: [n]

login desired: hello #===》輸入

passwd: world #===》輸入

(n)ew user login

(e)xisting user login

(q)uit

enter choice:

測試2:輸入『e』,驗證密碼

----------

(n)ew user login

(e)xisting user login

(q)uit

enter choice: e

you picked: [e]

login: hello

passwd: world

welcome back hello

(n)ew user login

(e)xisting user login

(q)uit

enter choice:

測試3:輸入『q』,退出

----------

(n)ew user login

(e)xisting user login

(q)uit

enter choice: q

you picked: [q]

d:\python27\test>

學習python 04 列表 字典和元組

以下三種格式都是正確的 a abcd 100 xyz999 b abcd 100 xyz999 c abcd 100 xyz999 print a 列印整個列表 print a 0 偏移量,取某個值 print a 0 2 切片,將列表的某個片段取出來。左值要取,右值不要取。print a 1 左右...

python 04(程序和執行緒)

併發 當有多個執行緒在操作的時候,如果系統只有乙個cpu,把cpu執行時間劃分成若干個時間段,分配給各個執行緒執行,在乙個時間段當程序 執行時,其他執行緒處於掛起狀態。併發 間隔發生 並行當系統有乙個以上cpu時,則執行緒的操作有可能非併發。當乙個cpu執行乙個執行緒時,另乙個 cpu可以執行另乙個...

Python04 簡單if邏輯判斷

密碼校驗 簡單if判斷 usr bin env python coding utf 8 author mclind username mc password 123 username input username password input password if username usernam...