Python练习二
一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
s = {11,22,33,44,55,66,77,88,99,90} num = {'k1':[],'k2':[]} li = list(s) for item in s: #print(item) if item > 66: num['k1'].append(item) elif item < 66: num['k2'].append(item) else: continue for item in num.values(): print(item)
二、查找
查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"] tu = ("alec", " aric", "Alex", "Tony", "rain") dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"} print('''li = ["alec", " aric", "Alex", "Tony", "rain"]''') for item in li: new = item.strip() if (new.startswith('a') or new.startswith('A')) and new.endswith('c'): print(new) print('''\ntu = ("alec", " aric", "Alex", "Tony", "rain")''') for item in tu: new = item.strip() if (new.startswith('a') or new.startswith('A')) and new.endswith('c'): print(new) print('''\ndic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}''') for item in dic.values(): new = item.strip() if (new.startswith('a') or new.startswith('A')) and new.endswith('c'): print(new)
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
li = ["手机", "电脑", '鼠标垫', '游艇'] for k,v in enumerate(li,1): #print(k,v) print k,v #python是2.x版本,在语句后加一个英文的逗号 ,就能打印后不会换行 k = raw_input("请输入商品编号:") n = int(k) n -= 1 print "你选择的商品是:", print(li[n])
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
asset = 2000 #资产 shopping_cart = []#购物车 min = 0 #最便宜的商品价格 goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ] #显示可选择的商品列表 for k,v in enumerate(goods,1): print k,v["name"],v["price"] while asset > 0: num = raw_input("请输入购买的商品编号:") n = int(num)-1 if n < 0 or n >= len(goods): print "很抱歉,你选择的商品编号不存在。请重新选择~" continue print "你选择购买:",goods[n]["name"],",价格是:",goods[n]["price"] if asset - goods[n]["price"]> 0: asset -= goods[n]["price"] print goods[n]["name"],"购买成功!" shopping_cart.append(goods[n]) print "asset余额:",asset for item in goods: p = int(item["price"]) if min > p: min = p if asset < p: print "很抱歉,您余额已不足购买任何商品。谢谢你的光顾~" break else: print "账户余额不足" break print "==================" print "本次,您成功购买的商品有:" for item in shopping_cart: print item["name"],item["price"]
五、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
}
}
dic = { "河北": { "石家庄": ["鹿泉", "藁城", "元氏"], "邯郸": ["永年", "涉县", "磁县"], }, "安徽": { "合肥市":["庐阳区","瑶海区 ","蜀山区"], "芜湖市":["镜湖区","鸠江区","无为县"] }, "山西": { "太原市":["杏花岭区","小店区","小店区","小店区"], "大同市":["城区","矿区","南郊区"] } } #打印出省市县列表 for k,v in enumerate(dic,1): print k,v province = dic[v] for item in province: print item city = province[item] for item in city: print item, print "\n" while 1: province = raw_input("请输入省会:") if dic.get(province) == None: print "您输入的省会",province,"还没录入" continue else: for item in dic[province]: print item city = raw_input("请输入市:") if city not in dic[province]: print "您输入的市",city,"还没录入" continue else: for item in dic[province][city]: print item; #print city county = raw_input("请输入县:") if county not in dic[province][city]: print "您输入的县",county,"还没录入" continue else: print "你所在的区域是:",province,city,item