Python學習【day03】- Python基礎練習題(列表、元組、字典)

  1 #!/usr/bin/env python
  2 # -*- coding:utf8 -*-
  3 
  4 # 一、有兩個列表
  5 #   l1 = [11,22,33]
  6 #   l2 = [22,33,44]
  7 # a.獲取內容相同的元素列表
  8 l1 = [11, 22, 33]
  9 l2 = [22, 33, 44]
 10 for v in l1 :
 11     if v in l2 :
 12         print(v)
 13 # b.獲取l1中有,l2中沒有的元素列表
 14 print("------------------------------------------")
 15 for v in l1 :
 16     if v not in l2 :
 17         print(v)
 18 # c.獲取l2中有,l1中沒有的元素列表
 19 print("--------------------------------------------")
 20 for v in l2 :
 21     if v not in l1 :
 22         print(v)
 23 # d.獲取l1和l2中內容都不一樣的元素
 24 # b.c合集
 25 
 26 
 27 # 二、 用代碼實現,利用下劃線將列表的每個元素拼接成字符串,li = ['alex','eric','Witharush']
 28 print("--------------------------------------------")
 29 li = ['alex','eric','Witharush']
 30 s = "_".join(li)
 31 print(s)
 32 
 33 
 34 # 三、有如下列表:
 35 # nums = [2,7,11,15,1,8,7], 請找到列表中任意兩個元素相加可以等於9的元素組合,如, [(0,1),(4,5)]
 36 print("--------------------------------------------")
 37 nums = [2, 7, 11, 15, 1, 8, 7]
 38 n = 0
 39 li = []
 40 for i in range(len(nums)) :
 41     for j in range(len(nums)) :
 42         if nums[i] + nums[j] == 9 :
 43             li.append((i, j))
 44 print(li)
 45 
 46 
 47 # 四、寫代碼,有以下列表,按照要求實現每個功能
 48 # li = ["Witharush","eric","rain"]
 49 # a.計算列表長度並輸出
 50 print("--------------------------------------------")
 51 li = ["Witharush", "eric", "rain", "aa", "bb", "cc", "dd"]
 52 print(len(li))
 53 # b.列表中追加元素"seven",並輸出添加後的列表
 54 li.append("seven")
 55 print(li)
 56 # c.請在列表的第1個位li請在列表的第一個位置插入元素"Tony",並輸出添加後的列表
 57 li.insert(0, "Tony")
 58 print(li)
 59 # d.請修改列表的第2個位置插入元素"Kelly",並輸出添加後的列表
 60 li[1] = "Kelly"
 61 print(li)
 62 # e.請刪除列表中的元素"eric",並輸出修改後的列表
 63 li.remove("eric")
 64 print(li)
 65 # f.請刪除列表中的第2個元素,並輸出刪除的元素的值和刪除元素後的列表
 66 v = li.pop(1)
 67 print(v, li)
 68 # g.請刪除列表中的第3個元素,並輸出刪除元素後的列表
 69 li.pop(2)
 70 print(li)
 71 # h.請刪除列表中的第2至4個元素,並輸出刪除元素後的列表
 72 l = li[1:3]
 73 for v in l :
 74     li.remove(v)
 75 print(li)
 76 # i.請將列表全部的元素反轉,並輸出反轉後的列表
 77 li.reverse()
 78 print(li)
 79 # j.請使用for,len,range輸出列表的索引
 80 for i in range(len(li)) :
 81     print(i)
 82 # k.請使用enumerate是輸出列表元素和序號(序號從100開始)
 83 print(list(enumerate(li, 100)))
 84 # l.請使用for循環輸出列表的全部元素
 85 for v in li :
 86     print(v)
 87 
 88 
 89 # 五、寫代碼,有以下元祖,按照要求實現每個功能
 90 print("----------------------------------------------")
 91 tu = ("alex", "eric", "Witharush")
 92 # a.計算元祖長度並輸出
 93 print(len(tu))
 94 # b.獲取元祖的第二個元素,並輸出
 95 print(tu[1])
 96 # c.獲取元祖的第 1-2 個元素,並輸出
 97 print(tu[1:2])
 98 # d.請使用for輸出元祖的元素
 99 for v in tu :
100     print(v)
101 # e.請使用for,len,range輸出元素的索引
102 for i in range(len(tu)) :
103     print(i)
104 # f.請使用enumerate輸出元祖元素和序號(序號從10開始)
105 print(tuple(enumerate(tu, 10)))
106 
107 
108 # 六、有以下變量,請實現要求的功能
109 print("--------------------------------------------------")
110 tu = ("Witharush",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
111 # a.講述元祖的特性
112 # 答:不可變類型、其餘和列表相同
113 # b.請問tu變量中的第一個元素"Witharush"是否能夠被修改?
114 # 答:不能夠
115 # c.請問tu變量中的"k2"對應的值是什麼類型?是否能夠被修改?若是能夠,請在其中添加一個元素"Seven"
116 # 答:k2對應的是列表類型,能夠被修改
117 tu[1][2]["k2"].append("Seven")
118 print(tu[1][2]["k2"])
119 # d.請問tu變量中的"k3"對應的值是什麼類型?是否能夠被修改?若是能夠,請在其中添加一個元素"Seven"
120 # 答:k3對應元組類型,不可修改
121 
122 
123 # 七、用1,2,3,4,5,6,7,8 ,8個數,能組成多少個互不相同且無重複的兩位數?
124 li = []
125 for i in range(1, 9) :
126     j = i
127     for j in range(1, 9) :
128         if i != j:
129             li.append("".join([str(i), str(j)]))
130 print(li)
131 print(len(li))
132 
133 # 八、九九乘法表
134 for i in range(1, 10) :
135     s = ""
136     for j in range(1, i + 1) :
137         s += str(j) + " * " + str(i) + " = " + str((i * j)) + "\t"
138     print(s)
139 
140 
141 # 九、print用法中的「sep」 、"end"
142 # 答:end:在打印最後放置什麼內容默認是\n因此會換行
143 #    sep:鏈接多個values的鏈接符 默認是空格
144 # print("aaa", "ccc", sep="_", end="BBB")
145 # print("aaa", sep="ccc", end="ddd")
146 
147 # 十、分頁實現內容
148 # a.經過for循環建立301條數據,數據類型不限,如:
149 # Witharush-1     Witharush1@live.com      pwd1
150 # Witharush-2     Witharush2@live.com      pwd2
151 # Witharush-3     Witharush3@live.com      pwd3
152 # ...
153 # 提示用戶 請輸入要查看的頁碼,當用戶輸出指定頁碼,也顯示指定數據
154 # 注意:
155 # 每頁顯示10條數據
156 # 用戶輸出頁碼是非十進制數字,也提示輸入內容格式錯誤
157 print("--------------------------------------------------")
158 """
159 while True:
160     user_list = []
161     for i in range(1,302):
162         temp = {
163             "name": "Witharush" + str(i),
164             "email": "Witharush" + str(i) + "@live.com",
165             "password": "pwd" + str(i)
166         }
167         user_list.append(temp)
168     pageSize = input("請輸入要查看的頁碼:")
169     pageSize = int(pageSize)
170     start = (pageSize - 1) * 10
171     end = pageSize * 10
172     result = user_list[start:end]
173     for item in result:
174         print(item)
175 """
176 
177 # 十一、用python開發程序自動計算方案
178 # 公雞5文錢一隻,母雞3文錢一隻,小雞3只一文錢,用100文錢買100只雞,其
179 # 中公雞,母雞,小雞都必需要有,問公雞,母雞,小雞要買多少隻恰好湊足100問錢?
180 for i in range(1, 20) :
181     for j in range(1, 33) :
182         for g in range(1, 100) :
183             if i + j + g == 100 and 5 * i + 3 * j + g /3 == 100 :
184                 print("公雞:" + str(i), "母雞:" + str(j), "小雞:" + str(g))
相關文章
相關標籤/搜索