零基礎 Python3學習課後練習題(二十三)

2021-08-28 18:59:32 字數 1982 閱讀 6866

0.python的字典是否支援一鍵(key)多值(value)?

1.在字典中,如果試圖為乙個不存在的鍵(key)賦值會怎樣?

答:會建立這個新鍵並且賦值。

2.成員資格符(in和not in)可以檢測乙個元素是否在序列中,當然也可以用來檢查乙個鍵(key)是否在字典中。那麼請問哪種的檢查效率更高些?為什麼?

答:在字典中檢查鍵(key)是否存在比在序列中檢查指定元素是否存在更高效。因為字典的原理是使用雜湊演算法儲存,一步到位,不需要使用查詢演算法進行匹配,因此時間複雜度是o(1),效率非常高。

3.python對鍵(key)和值(value)有沒有型別限制?

答:python對鍵的要求相對要嚴格一些,要求它們必須是可雜湊(hash)的物件,不能是可變型別(包括變數、列表、字典本身等)。但是python對值是沒有任何限制的,它們可以是任意的python物件。

4.請目測下邊**執行後,字典dict1的內容是什麼?

dict1.fromkeys((1,2,3),('one', 'two', 'three'))  

dict1.fromkeys((1,3), '數字')

答:執行完成後,字典dict1的內容是:,這裡要注意的是,fromkeys方法是直接建立乙個新的字典,不要試圖使用它來修改乙個原有的字典,因為它會直接無情的用把整個字典給覆蓋掉。

5.如果你需要將字典dict1 = 拷貝到dict2,你應該怎麼做? 使用copy()方法。不要使用賦值等號。

答:可以利用字典的copy()方法:dict2 = dict1.copy(),在其他語言轉移到python小夥伴們剛開始可能會習慣性的直接用賦值的方法(dict2 = dict1),這樣子做在python中只是將物件的引用拷貝過去而已。

0.嘗試編寫乙個使用者登入程式(這次嘗試將功能封裝成函式),程式實現如圖:

答:

def load():

dict1 =

while 1:

key = input('''

|--- 新建使用者:n/n ---|

|--- 登入帳號:e/e ---|

|--- 退出程式:q/q ---|

|--- 請輸入指令**:''')

if key == 'n' or key == 'n':

temp_name = input('請輸入使用者名稱:')

while temp_name in dict1:

temp_name = input('此使用者名稱已經被使用,請重新輸入:')

temp_password = input('請輸入密碼:')

dict1[temp_name] = temp_password

print('註冊成功,趕緊試試登入吧^_^')

continue

elif key == 'e' or key == 'e':

temp_name = input('請輸入使用者名稱:')

while temp_name not in dict1:

temp_name = input('您輸入的使用者名稱不存在,請重新輸入:')

temp_password = input('請輸入密碼:')

while temp_password != dict1[temp_name]:

temp_password = input('密碼錯誤,請重新輸入:')

print('歡迎進入系統,請點右上角的x結束程式!')

continue

elif key == 'q' or key == 'q':

break

零基礎 Python3學習課後練習題(四)

0.請問以下 會列印多少次 我愛魚c!while c print 我愛魚c 答 會一直列印下去,死迴圈。1.請問以下 會列印多少次 我愛魚c!i 10 while i print 我愛魚c i i 1 答 會列印10次。2.請寫出與 10 cost 50 等價的表示式。答 10 cost and c...

零基礎 Python3學習課後練習題(八)

0.下面的迴圈會列印多少次 i love fishc for i in range 0,10,2 print i love fishc 答 列印 5 次,因為在range閾中以 2 為步徑,即有五個結果,所以可以列印五次。for i in range 0,10,2 print i love fish...

零基礎 Python3學習課後練習題(十六)

0.請問以下哪個是形參哪個是實參?def myfun x return x 3 y 3 print myfun y 答 x是形式引數,y是實際引數。函式定義過程中的引數是形參,呼叫函式過程中的引數是實參。1.函式文件和直接用 為函式寫注釋有什麼不同?答 函式文件是對函式的解釋和描述,可以呼叫 doc...