Day 15 列表、字典、集合
来源:互联网 发布:巅峰阁安卓软件 编辑:程序博客网 时间:2024/05/20 15:56
一、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
list = [11,22,33,44,55,66,77,88,99,90]dict ={'k1':[] , 'k2':[]}for x in list: if x >66: dict.get('k1').append(x) else: dict.get('k2').append(x)print(dict)
二、查找
查找列表中元素,移除每个元素的空格,并查找以 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"]for i in range(len(li)): li[i]=li[i].strip() if (li[i].startswith('a') or li[i].startswith('A')) and li[i].endswith('c'): print(li[i])print(li)tu = ("alec", " aric", "Alex", "Tony", "rain")z = list(tu)for i in range(len(z)): z[i] = z[i].strip() if (z[i].startswith('a') or z[i].startswith('A')) and z[i].endswith('c'): print(z[i]) tu = tuple(z)print(tu)dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}for i in dic: key = dic[i] key = key.strip() dic[i] = key if (key.startswith('a') or key.startswith('A')) and key.endswith('c'): print(key)print(dic)
三、
输出商品列表,用户输入序号,显示用户选中的商品。
li = ["手机", "电脑", '鼠标垫', '游艇']for i,j in enumerate(li): print(i+1,j,end=' ')while True: a = (input('\n请输入商品序号:')) if a.isspace() or not a: print('输入为空,请重新输入:') continue elif a.isdigit() == True : break else: print('输入非数字,请重新输入:') continueprint('所选商品:', li[int(a) - 1])
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
shopcart = [] #定义购物车为空列表tag = Truewhile tag: money = input('请输入总资产:') if money.isdigit(): #判断输入是否为数字 money = int(money) else: print('输入有误,请重新输入!') continue while tag: print('商品列表'.center(46,'=')) for i,j in enumerate(goods): print(i+1,j['name'],j['price']) #商品序号 起始0+1 choice = input('请选择商品序号(充值:w 移除商品:e 查看购物车:r 结算:t 退出:q):') if choice.isdigit(): choice = int(choice) if choice <= len(goods) and choice !=0: #在序号范围内且不为0 item = goods[choice - 1] #对应 序号-1 if item['price'] <= money: #商品总额不大于总资产 shopcart.append(item) #加入购物车 money -= item['price'] print('选购列表'.center(46,'-')) for list in shopcart: print('[',list['name'],list['price'],']',end=' ') print('\n','当前余额为%s' %money ) else: print('余额为%s,无法购买,请充值。' %money) else: print('输入有误,请重新输入!') elif choice == 'w': #充值 while True: print('充值'.center(48, '=')) money1 = input('请输入充值金额(返回:b):') if money1 == 'b': break if money1.isdigit(): money += int(money1) #类型转换 print('当前可用余额为:%s' %money) break else: print('输入有误,请重新输入!') elif choice == 'e': #修改购物车 while True: print('移除商品'.center(46, '=')) for m,n in enumerate(shopcart): print(m + 1,'[',n['name'],n['price'],']') remove = input('请输入移除商品序号(返回:b):') if remove == 'b': break if remove.isdigit(): remove = int(remove) if remove <= len(shopcart) and remove !=0: item1 = shopcart[remove - 1] del shopcart[remove - 1] money += item1['price'] print('选购列表'.center(46,'-')) for list1 in shopcart: print('[',list1['name'],list1['price'],']',end=' ,') print('\n','已移除商品[%s],当前可用余额为:%s' %(item1['name'] , money)) if len(shopcart) == 0: print('当前购物车为空,返回商品列表。') break else: print('输入有误,请输入商品序号!') elif choice == 'r': #查看购物车 while True: print('查看购物车'.center(45, '=')) for x, y in enumerate(shopcart): print(x + 1, '[', y['name'], y['price'], ']') print('余额:%s' % money) inp = input('输入[b]返回:') if inp == 'b': break else: print('输入有误,请重新输入!') elif choice == 't': #商品结算 print('结算'.center(48,'=')) for list in shopcart: print('[',list['name'], list['price'],']') #显示选购商品 print('余额:%s' % money) print(50 * '=') print('欢迎下次光临!') tag = False #退出循环 elif choice == 'q': print(50 * '=') print('欢迎下次光临!') tag = False else: print('输入有误,请重新输入!')
选做题:用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
}
"河南": {
...
}
"山西": {
...
}
}
阅读全文
0 0
- Day 15 列表、字典、集合
- day 15 变量赋值 列表 元组 字典
- Python列表,集合,字典
- python 列表、字典、集合
- 列表、字典、集合的解析
- 字符串,列表,字典,元祖,集合
- 列表、元祖、字典、集合详解
- python 列表,字典 ,集合推导
- python 列表、字典、集合解析
- 列表、元组、字典、集合
- python的列表,元组,集合,字典
- Python元祖,列表,字典,集合的比较
- 元组 列表 集合 字典 python
- 元组、列表、字典和集合
- Python元祖,列表,字典,集合的比较
- python的列表、元组、字典、集合
- Python 列表、元组、字典、集合
- 列表推导、字典推导、集合推导
- LeetCode * 565. Array Nesting
- 类加载过程和反射机制使用详解
- less 文档手册
- 关于org.hibernate.NonUniqueObjectException出现的一种情况,以及解决方法。
- 学习日记-Adobe 卸载美工软件
- Day 15 列表、字典、集合
- Wampserver+Composer搭建Laravel5.4环境
- Java 并发工具包 java.util.concurrent 用户指南
- 线性表的链式存储结构:单链表
- 文本向量化
- C语言的restrict类型限定符
- 词语向量化-word2vec简介和使用
- kendo UI 中实现在grid中实现刷新特定项值的功能
- 英语字谜求解程序(JAVA):iMessage-GamePigeon的“字谜”