1、元素分类python
有以下值集合 [11,22,33,44,55,66,77,88,99],将全部大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的全部值, 'k2': 小于66的全部值}api
l = [11, 22, 33, 44, 55, 66, 77, 88, 99] d = {'k1': [], 'k2': []} for i in l: if i >= 66: d['k1'].append(i) else: d['k2'].append(i) print(d)
li = ["alec", " aric", "Alex", "Tony", "rain"] print(li) for i in li[:]: x = li.index(i) li[x] = i.strip() print(li) l2 = [] for i in li[:]: if i.capitalize().startswith('A') and i.endswith('c'): l2.append(i) print(l2) #>>>>>>>>>> ['alec', ' aric', 'Alex', 'Tony', 'rain'] ['alec', 'aric', 'Alex', 'Tony', 'rain'] ['alec', 'aric'] tu = ("alec", " aric", "Alex", "Tony", "rain") l3 = [] print(tu) for i in tu: l3.append(i.strip()) tu = tuple(l3) #在循环里面逐个修改会报错: print(tu) l4 = [] for i in tu: if i.capitalize().startswith('A') and i.endswith('c'): l4.append(i) tu4 = tuple(l4) print(tu4) #>>>>>>>>>> ('alec', ' aric', 'Alex', 'Tony', 'rain') ('alec', 'aric', 'Alex', 'Tony', 'rain') ('alec', 'aric') dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"} print(dic) for i in dic.keys(): dic[i] = dic[i].strip() print(dic) dic1 = {} for i in dic.keys(): if dic[i].capitalize().startswith('A') and dic[i].endswith('c'): dic1.update({i: dic[i]}) print(dic1) #>>>>>>>>>> {'k4': 'Tony', 'k2': ' aric', 'k1': 'alex', 'k3': 'Alex'} {'k4': 'Tony', 'k2': 'aric', 'k1': 'alex', 'k3': 'Alex'} {'k2': 'aric'}
li = ['手机', '电脑', '鼠标垫', '游艇'] print('Exit If Not Number!') while True: s = input() if not s.isnumeric(): print('Exit') break z = int(s) if z > 4 or z < 1: print('Input Again Please:') continue for k, i in enumerate(li, 1): if k == z: print(i)
功能要求:app
goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ]
print('请输入您的总资产:') assets = int(input()) #总资产 cart = [] #购物车 price = 0 #花销 balance = assets - price #余额 goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ] print('序号', '物品', '\t', '价格') for k, i in enumerate(goods, 1): print(k, '\t', i['name'], '\t', i['price']) while True: menu = ['购买', '充值', '购物车'] print('请输入操做序号:') for k, i in enumerate(menu, 1): print(k, i) print('********************************') choose = int(input()) if choose == 1: while True: print('请输入要购买的商品序号,若要返回请按其余数字') seq = int(input()) # 购买物品的序号 if seq > 4: break if balance - goods[seq - 1]['price'] < 0: print('余额不足!请前往充值!') break cart.append(goods[seq - 1]) price += goods[seq - 1]['price'] balance = assets - price elif choose == 2: print('请输入充值金额:') money = int(input()) assets += money balance = assets - price print('充值成功!资产以下:') print('总资产:', assets, '\t' '总花费:', price, '\t', '余额:', balance) elif choose == 3: while True: print('********************************') print('Shopping Cart:') print('序号', '物品', '\t', '价格') for k, i in enumerate(cart, 1): print(k, '\t', i['name'], '\t', i['price']) print('总资产:', assets, '\t' '总花费:', price, '\t', '余额:', balance) print('********************************') menu_cart = ['移除', '结算'] print('请输入操做序号,若要返回请按其余数字') for k, i in enumerate(menu_cart, 1): print(k, i) print('********************************') choose_cart = int(input()) if choose_cart == 1: print('请输入要移除的商品在购物车的序号') rm = int(input()) remove = cart.pop(rm - 1) price -= remove['price'] balance += remove['price'] print('移除成功!') elif choose_cart == 2: print('购买成功!订单以下') print('********************************') print('Shopping Cart:') print('序号', '物品', '\t', '价格') for k, i in enumerate(cart, 1): print(k, '\t', i['name'], '\t', i['price']) print('总资产:', assets, '\t' '总花费:', price, '\t', '余额:', balance) print('********************************') exit() else: break
忽然发现,受C语言影响,这里将全部的输入输出分开写了。。。显得有些繁琐,在input()里面显示提示信息会好一些。优化
另外,购物车结构能够优化,把相同的条目计数,如 {商品 ,单价,数目}spa
5、用户交互,显示省市县三级联动的选择blog
dic = { "河北": { "石家庄": ["鹿泉", "藁城", "元氏"], "邯郸": ["永年", "涉县", "磁县"], }, "河南": { "郑州": ["二七", "金水", "慧济"], "洛阳": ["龙门", "白马寺", "上清宫"], }, "山西": { "太原": ["万柏林", "尖草坪", "杏花岭"], "临汾": ["尧都区", "金殿镇", "屯里镇"], } } sheng = input("输入省名查看市:") for i in dic[sheng]: print(i) shi = input("输入市名查看县区:") for j in dic[sheng][shi]: print(j)