practice1
2017-08-02 09:15 cui_xx 阅读(151) 评论(0) 收藏 举报#utf-8 编码,一个汉字,3个字节
一、元素分类
有如下集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key值中,即{‘k1’:大于66的所有值,‘k2’:小于等于66的所有值}
li = [11,22,33,44,55,66,77,88,99,90]
dic = {
"k1": [],
"k2": []
}
for i in li:
if i <= 66:
dic["k2"].append(i)
else:
dic["k1"].append(i)
print (dic)
{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55, 66]}
二、查找
查找列表中元素,移动空格,并查找以a或A开头 并且以c结尾的所有元素
li=["alec"," aric","Alex","Tony","rain"]
tu=("alec"," aric","Alex","Tony","rain")
dic={'k1':"alec",'k2':" aric",'k3':"Alex",'k4':"Tony"}
--------------------------------------------
li = ["alec"," aric","Alec","Tony","rain"]
for i in li:
new_i = i.strip()
if new_i.startswith('a') or new_i.startswith('A') and new_i.endswith('c'):
print (new_i)
-----------------------------
dic = {'k1':"alec",'k2':" aric",'k3':"Alec",'k4':"Tony"}
for i in dic.values():
new_i = i.strip()
if new_i.startswith('a') or new_i.startswith('A') and new_i.endswith('c'):
print (new_i)
--------------------------------------------
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li=["手机","电脑","鼠标垫","游艇"]
li = ["手机","电脑","鼠标垫","游艇"]
#enumerate
for key, item in enumerate(li, 1):
print (key,item)
len_li = len(li)
inp = input("请输入商品编号:")
num = int(inp)
if num <= len_li and num > 0:
print (li[int(inp)-1])
else:
input ("您输入的商品编号不存在,请重新输入")
=------------------------------
五、用户交互,显示省市县三级联动的选择
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)
---------------------------------------
四、购物车
功能要求:
1、要求用户输入总资产,如2000
2、显示商品列表,让用户根据序号选择商品,加入购物车
3、购买,如果商品总额大于总资产,提示账户余额不足,否则购买成功
4、附加,可充值,某商品移除购物车
asset_all = 0
li = input("请输入总资产:")
asset_all = int(li)
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "名画", "price": 998},
]
for i in goods:
print (i['name'], i['price'])
car_dict = {}
#car_dict = {
# '电脑':{'price':单价, num:1}
# }
while True:
i2 = input("请选择商品(Y/y结算):")
if i2.lower() == 'y':
break
for item in goods:
if item['name'] == i2:
#item = {"name":"电脑", "price": 1999}
name = item['name']
#判断购物车是否已经有该商品,有,num+1
if name in car_dict.keys():
#pass
car_dict[name]['num'] = car_dict[name]['num'] + 1
else:
car_dict[name] = {"num":1, "single_price":item['price']}
print (car_dict)
# {
# '鼠标': {'single_price':10, 'num':1}, 1*10
# '电脑': {'single_price':1999, 'num':9}, 9*1999
# }
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:
asset_all = asset_all - all_price
print ("购买成功")
浙公网安备 33010602011771号