1. 程式人生 > >字典作業

字典作業

1,有如下變數(tu是個元祖),請實現要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])

a. 講述元祖的特性

b. 請問tu變數中的第一個元素 "alex" 是否可被修改?

c. 請問tu變數中的"k2"對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素 "Seven"

d. 請問tu變數中的"k3"對應的值是什麼型別?是否可以被修改?如果可以,請在其中新增一個元素 "Seven"

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
元組裡的元素不可變
不可以修改
列表型別 可以
tu[1][2]["k2"].append("Seven")
print(tu)
元組型別 不可以

2, 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]} 

a. 請迴圈輸出所有的key

b. 請迴圈輸出所有的value

c. 請迴圈輸出所有的key和value

d. 請在字典中新增一個鍵值對,"k4": "v4",輸出新增後的字典

e. 請在修改字典中 "k1" 對應的值為 "alex",輸出修改後的字典

f. 請在k3對應的值中追加一個元素 44,輸出修改後的字典

g. 請在k3對應的值的第 1 個位置插入個元素 18,輸出修改後的字典

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for i in dic.keys():
    print(i)

for i in dic.values():
    print(i)

for k, v in dic.items():
    print(k,v)

dic["k4"]="v4"
dic["k1"]="alex"
dic["k3"].append(44)
dic["k3"].insert(0,18)
print(dic)
3,av_catalog = {
    "歐美":{
        "www.youporn.com": ["很多免費的,世界最大的","質量一般"],
        "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"],
        "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"],

        "x-art.com":["質量很高,真的很高","全部收費,屌絲請繞過"]
    },
    "日韓":{
        "tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"]
    },
    "大陸":{
        "1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"]
    }
}
a,給此 ["很多免費的,世界最大的","質量一般"]列表第二個位置插入一個  元素:'量很大'。
b,將此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表的 "全部收費,屌絲請繞過" 刪除。
c,在此 ["質量很高,真的很高","全部收費,屌絲請繞過"]列表中新增"金老闆最喜歡這個"。
d,將此["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"]列表的 "verygood"全部變成大寫。
e,給'大陸' 對應的字典新增一個鍵值對 '1048' :['一天就封了']
f,刪除此"letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"]鍵值對。
g,給此["全部免費,真好,好人一生平安","伺服器在國外,慢"]列表的第一個元素,加上一句話:'可以爬下來' 
av_catalog = {
    "歐美":{
        "www.youporn.com": ["很多免費的,世界最大的","質量一般"],
        "www.pornhub.com": ["很多免費的,也很大","質量比yourporn高點"],
        "letmedothistoyou.com": ["多是自拍,高質量圖片很多","資源不多,更新慢"],
        "x-art.com":["質量很高,真的很高","全部收費,屌絲請繞過"]
    },
    "日韓":{
        "tokyo-hot":["質量怎樣不清楚,個人已經不喜歡日韓範了","verygood"]
    },
    "大陸":{
        "1024":["全部免費,真好,好人一生平安","伺服器在國外,慢"]
    }
}

av_catalog["歐美"]["www.youporn.com"].insert(1,"量很大")
del av_catalog["歐美"]["x-art.com"][1]
av_catalog["歐美"]["x-art.com"].append("金老闆喜歡這個")
av_catalog["日韓"]["tokyo-hot"][1] = av_catalog["日韓"]["tokyo-hot"][1].upper()
av_catalog["大陸"].setdefault("1048",['一天就封了'])
av_catalog["歐美"].pop("letmedothistoyou.com")
av_catalog["大陸"]["1024"].insert(0,"可以爬下來")
print(av_catalog)
4、有字串 "k:1|k1:2|k2:3|k3:4" 處理成字典 {'k':1,'k1':2....}  (升級題)
m = {}
s = "k:1|k1:2|k2:3|k3:4"
s1 = s.split("|")
for i in s1:
    # print(i)
    k , v = i.split(":")
    # print(k,v)
    v = int(v)
    m.setdefault(k,v)
print(m) 

5、元素分類

有如下值li= [11,22,33,44,55,66,77,88,99,90],將所有大於 66 的值儲存至字典的第一個key中,將小於 66 的值儲存至第二個key的值中。

即: {'k1': 大於66的所有值列表, 'k2': 小於66的所有值列表}

s = []
s1 =[]
m ={}
li= [11,22,33,44,55,66,77,88,99,90]
for i in li:
    if int(i)>66:
        s.append(i)
    else:
        s1.append(i)
m.setdefault("k1",s)
m.setdefault("k2",s1)
print(m)

6、輸出商品列表,使用者輸入序號,顯示使用者選中的商品(升級題)

商品列表:
         goods = [{"name": "電腦", "price": 1999},
         {"name": "滑鼠", "price": 10},
         {"name": "遊艇", "price": 20},
         {"name": "美女", "price": 998}, ]

要求:

1:頁面顯示 序號 + 商品名稱 + 商品價格,如:

          1 電腦 1999

          2 滑鼠 10

          …

2:使用者輸入選擇的商品序號,然後列印商品名稱及商品價格

3:如果使用者輸入的商品序號有誤,則提示輸入有誤,並重新輸入。

4:使用者輸入Q或者q,退出程式。

m = []
while 1:
    goods = [{"name": "電腦", "price": 1999},
             {"name": "滑鼠", "price": 10},
             {"name": "遊艇", "price": 20},
             {"name": "美女", "price": 998}, ]

    for i in range(len(goods)):
        print(i+1,goods[i]["name"],goods[i]["price"])
    count = 1
    n = input("輸入選擇的編號")
    if n.isdigit():
        for i in range(len(goods)):
            if int(n) == i+1:
                print(goods[i]["name"],goods[i]["price"])
                break
            elif int(n) > len(goods):
                print("輸入錯誤重新輸入")
                break
    elif n.upper() == "Q":
        break
    else:
        print("輸入錯誤重新輸入")