1、元素的分類 需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],將所有大於66的值保存在字典的第一個key中,將小於66的值保存在第二個key的值中 代碼實現: 1 #定義一個list列表 2 li = [11,22,33,44,55,66,77,88,99,90 ...
1、元素的分類
需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],將所有大於66的值保存在字典的第一個key中,將小於66的值保存在第二個key的值中 代碼實現: 1 #定義一個list列表
2 li = [11,22,33,44,55,66,77,88,99,90]
3 #定義空字典
4 dic = {"k1": [], "k2": []}
5 for i in li:
6 if i <= 66:
7 dic['k1'].append(i)
8 else:
9 dic['k2'].append(i)
10 print(dic)
View Code
2、查找列表中元素,移除每個元素的空格,並查找以a或A開頭並且以c結尾的所有元素
代碼實現:
li = ["aleb", "aric", "Alex", "Tony", "rain"]
#tu = ("alec", "aric", "Alex", "Tony", "rain") 元組也適用以下方法
for i in li:
#i表示每一個元素
new_i = i.strip()
#if 判斷的順序,從前到後;or,自動執行成功就行;and
#先執行括弧內的,再執行括弧外的
if (new_i.startswith('a') or new_i.startswith('A')) and new_i.endswith('c'):
print(i)
#字典
dic = {"k1": "alex", "k2": "arlc", "k3": "Alex", "k4": "Tony"}
for j in dic.values():
new_j = j.strip()
if (new_j.startswith('a') or new_j.startswith('A')) and new_j.endswith('c'):
print(j)
View Code
3、輸出商品列表,用戶輸入序號,顯示用戶選中的商品
代碼實現:
li = ["手機", "電腦", "滑鼠墊", "游艇"]
#首先迴圈商品
for i, j in enumerate(li):
print(i + 1, j)
#用戶輸入
num = input("請您輸入商品編號: ")
#獲取索引
num = int(num)
#獲取列表的長度
len_li = len(li)
if num > 0 and num <= len_li:
goods = li[num - 1]
print(goods)
else:
print("此商品不存在!")
View Code
4、用戶交互,顯示省市縣三級聯動的選擇
代碼實現:
dic = {
"廣東": {
"廣州": ["天河區", "越秀區", "海珠區"],
"東莞":["長安", "鳳崗", "黃江"],
},
"河北": {
"石家莊": ["鹿泉", "元氏", "鷹城"],
"邯鄲": ["永年", "涉縣", "磁縣"],
}
}
#迴圈輸出所有的省
for x in dic:
print(x)
#用戶輸入省份
i1 = input("請輸入省份: ")
a = dic[i1]
#迴圈輸出所有的市
for j in a:
print(j)
#用戶輸入城市
i2 = input("請輸入城市: ")
b = dic[i1][i2]
#迴圈,將所有的數據列印出來
for z in b:
print(z)
View Code
5、購物車
功能需求: 要求用戶輸入總資產,例如:2000 顯示商品列表,讓用戶根據序號選擇商品,加入購物車 購買,如果商品總額大於總資產,提示賬戶餘額不足,否則,購買成功 附加:可充值、某商品移除購物車 代碼實現方法一:使用列表方式儲存購買數量#定義一個總資產
asset_all = 0
#定義一個購物車列表
car_list = []
num = input('請輸入您的總資產: ')
asset_all = int(num)
#所有的商品列表
goods = [
{"name": "電腦", "price": 4999},
{"name": "自行車", "price": 999},
{"name": "耳機", "price": 129},
{"name": "iphone", "price": 10999},
]
for i in goods:
#i,每一個列表的元素,字典
print(i['name'], i['price'])
while True:
g = input('請輸入你選擇的商品(y結算): ')
if g.lower() == 'y':
break
for j in goods:
if j['name'] == g:
# j = {"name": "電腦", "price": 4999}
car_list.append(j)
#結算
print(car_list)
#定義一個購買總價
all_price = 0
for item in car_list:
p = item['price']
all_price = all_price + p
#總資產與購買總價比較
if all_price > asset_all:
print('您當前的餘額不足')
else:
print('購買成功')
View Code
代碼實現方法二:使用字典方式儲存購買數量
#定義一個總資產
asset_all = 0
num = input('請輸入您的總資產: ')
asset_all = int(num)
#所有的商品列表
goods = [
{"name": "電腦", "price": 4999},
{"name": "自行車", "price": 999},
{"name": "耳機", "price": 129},
{"name": "iphone", "price": 10999},
]
for i in goods:
#i,每一個列表的元素,字典
print(i['name'], i['price'])
#定義一個購物車字典
car_dict = {}
"""
car_dict = {
"電腦": {'price':單價, num:12}
} """
while True:
g = input('請輸入你選擇的商品(Y/y結算): ')
#迴圈所有的商品,查找需要的商品
if g.lower() == 'y':
break
for item in goods:
if item['name'] == g:
# j = {"name": "電腦", "price": 4999}
name = item['name']
#判斷購物車是否已經有該商品, 如果有,num + 1
if name in car_dict.keys():
car_dict[name]['num'] = car_dict[name]['num'] + 1
else:
car_dict[name] = {"num": 1, "single_price": item['price']}
#結算,顯示購物車裡的所有商品
print(car_dict)
#定義一個購買總價
all_price = 0
for k, v in car_dict.items():
#單價
n = v['single_price']
#數量
m = v['num']
#計算每類商品的和
all_sum = m * n
#購買總價
all_price = all_price + all_sum
#總資產與購買總價比較
if all_price > asset_all:
print('您當前的餘額不足')
else:
print('購買成功')
View Code