第十八节,基本数据类型作业
2016-07-02 23:13
246 查看
一、元素分类
1,将一个列表的元素,分类后分别放到两个列表中
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至一个列表,小于等于66的值保存到另一个列表
2,将一个列表的元素,分类后分别放到一个字典中,列1
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的k1键值,小于等于66的值保存至字典的k2键值
3,将一个列表的元素,分类后分别放到一个字典中,列2
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的k1键值,小于等于66的值保存至字典的k2键值
二、查找
查找列表,元组,字典,中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
1.用列表构造以购买产品,购物车
2.用字典构造以购买产品,购物车
1,将一个列表的元素,分类后分别放到两个列表中
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至一个列表,小于等于66的值保存到另一个列表
#!/usr/bin/env python # -*- coding:utf-8 -*- print("将一个列表的元素,分类后分别放到两个列表中") a = [11,22,33,44,55,66,77,88,99,90] b = [] #创建空列表b c = [] #创建空列表c for i in a: #循环a列表元素 if i <= 66: b.append(i) #判断循环到的元素小于或等于66的,追加到b列表 else: c.append(i) #判断循环到的元素大于66的,追加到c列表 #分别打印出b列表和c列表 print(b) print(c) #打印出 #[11, 22, 33, 44, 55, 66] #[77, 88, 99, 90]
2,将一个列表的元素,分类后分别放到一个字典中,列1
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的k1键值,小于等于66的值保存至字典的k2键值
#!/usr/bin/env python # -*- coding:utf-8 -*- print("将一个列表的元素,分类后分别放到一个字典中,列1") a = [11,22,33,44,55,66,77,88,99,90] b = [] #创建空列表b c = [] #创建空列表c for i in a: #循环a列表元素 if i <= 66: b.append(i) #判断循环到的元素小于或等于66的,追加到b列表 else: c.append(i) #判断循环到的元素大于66的,追加到c列表 d = {"k1":b, "k2":c} #新创建一个字典,键为k1和k2,把b列表赋值给k1键,把c列表赋值给k2键 print(d)#打印出d字典 #打印出 {'k2': [77, 88, 99, 90], 'k1': [11, 22, 33, 44, 55, 66]}
3,将一个列表的元素,分类后分别放到一个字典中,列2
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的k1键值,小于等于66的值保存至字典的k2键值
#!/usr/bin/env python # -*- coding:utf-8 -*- print("将一个列表的元素,分类后分别放到一个字典中,列2") a = [11,22,33,44,55,66,77,88,99,90] b = {"k1":[], "k2":[]} for i in a: #循环a列表元素 if i <= 66: b["k1"].append(i) #判断循环到的元素小于或等于66的,追加到b列表 else: b["k2"].append(i) #判断循环到的元素大于66的,追加到c列表 print(b) #打印出 {'k2': [77, 88, 99, 90], 'k1': [11, 22, 33, 44, 55, 66]}
二、查找
查找列表,元组,字典,中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
三、输出商品列表,用户输入序号,显示用户选中的商品
商品 li = ["手机", "电脑", '鼠标垫', '游艇']
#!/usr/bin/env python # -*- coding:utf-8 -*- print("输出商品列表,用户输入序号,显示用户选中的商品") li = ["手机", "电脑", '鼠标垫', '游艇'] for i,j in enumerate(li,1): #自定义列表索引下标,从1开始,将列表索引下标赋值给i,将列表值赋值给j print(i,j)#打印出列表的索引下标,和列表的值 a = input("请输入商品序号") #要求用户输入商品序号 if a.isdigit():#判断用户输入的是否是纯数字 pass else: exit("你输入的不是有效的商品序号")#如果不是纯数字打印提示信息,并且退出程序,不在往下执行 a = int(a) #将用户输入的序号转换成数字类型 b = len(li)#统计li列表的元素个数 if a > 0 and a <= b: #判断 c = li[a-1] print(c) else: print("商品序号不存在")
四、购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车
1.用列表构造以购买产品,购物车
#!/usr/bin/env python # -*- coding:utf-8 -*- # 四、购物车 # 功能要求: # 要求用户输入总资产,例如:2000 # 显示商品列表,让用户输入商品名称,加入购物车 # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。 # 附加:可充值、某商品移除购物车 #用列表构造以购买产品,购物车 #默认总资产等于0 zong_zi_chan = 0 #要求用户输入总资产 zong_zi_chan1 = input("请输入总资产") #判断用户输入的是否是纯数字 if zong_zi_chan1.isdigit(): pass else: exit("你输入的不是数字类型的资产") #将用户输入的总资产转换成整数类型 zong_zi_chan = int(zong_zi_chan1) #打印出用户输入的总资产 print("你的总资产为:",zong_zi_chan,"元") #换行 print("\n") print("可购买商品有:") shang_pin = [ {"名称":"手机", "价格":200}, {"名称":"电脑", "价格":300}, {"名称":"水笔", "价格":10}, {"名称":"纸张", "价格":20}, ] #以购买商品 shang_pin2 = [] for i in shang_pin: #通过循环列表里面字典的键,来显示出商品和价格 print(i["名称"], i["价格"], "元") #换行 print("\n") ming = "" while True: #要求用户输入要购买的商品名称 ming_cheng = input("输入y结算/请输入要购买的商品名称挑选商品") if ming_cheng == "y":#判断用户输入的是商品名称还是结算符 break #如果用户输入的是结算符退出while进行结算 else: for i in shang_pin: #循环产品列表,判断循环到的产品名称是否有等于用户输入的名称 if i["名称"] == ming_cheng: #如果循环到的产品名称有等于用户输入的名称,将这个名称赋值给ming变量 ming = i["名称"] else: pass #判断ming变量是否等于用户输入的 if ming == ming_cheng: pass else: #如果不等于提示商品名称不存在,退出程序 exit("你输入的商品名称不存在") for i in shang_pin: #循环商品列表,判断商品名称是否有等于用户输入的 if i["名称"] == ming_cheng: #如果循环到的商品名称等于用户输入名称,将此商品字典追加更新到一个新列表,也就是用户 shang_pin2.append(i) print("你以挑选了:",shang_pin2) zongjia = 0 for i in shang_pin2: danjia = i["价格"] zongjia += danjia print("现在开始结算共计:", zongjia, "元") if zong_zi_chan >= zongjia: print("恭喜你购买成功") else: print("你的余额不足,请充值")
2.用字典构造以购买产品,购物车
#!/usr/bin/env python # -*- coding:utf-8 -*- #功能要求: # 要求用户输入总资产,例如:2000 # 显示商品列表,让用户输入商品名称,加入购物车 # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。 # 附加:可充值、某商品移除购物车 #用字典构造以购买产品,购物车 #用户输入总资产 zong_zi_chan = input("请输入你的总资产") #将用户输入总资产转换成数字类型 zong_zi_chan1 = int(zong_zi_chan) #打印出总资产 print("您的总资产为",zong_zi_chan1,"元") print("\n") #产品字典 shang_pin = [ {"名称":"手机", "价格":200}, {"名称":"电脑", "价格":300}, {"名称":"水笔", "价格":10}, {"名称":"纸张", "价格":20}, ] print("可购买产品有:") for i in shang_pin: #循环出产品字典里的名称和价格 print(i["名称"],i["价格"],"元") print("\n") #以购买的产品 gou_mai2 = {} #循环购买模块 while True: #用户输入要购买的产品名称 gou_mai = input("请输入要购买的商品名称,输入y结算") #将用户输入的信息进行判断,如果用户输入的是y退出循环购买模块 if gou_mai.lower() == "y": break else:#如果用户输入不是y执行下面 for i in shang_pin: #判断循环到的产品名称如果等于用户输入的购买名称 if i["名称"] == gou_mai: #将循环到的赋值给一个变量 chan_pin = i["名称"] #判断循环到的名称在已购买产品字典里是否存在这个键 if chan_pin in gou_mai2.keys(): #如果存在将已购买产品字典里本条数据的数量加1 gou_mai2[chan_pin]["数量"] = gou_mai2[chan_pin]["数量"] + 1 else: #如果不在将已购买产品字典里,将本条数据更新到已购买产品字典里,默认数量1 gou_mai2[chan_pin] = {"价格":i["价格"], "数量":1} #打印已购买产品 print(gou_mai2) print("\n") print("您以购买的商品有:") #购买产品的所有共计费用 gong_ji = 0 #循环出以购买产品字典里的键和值 for k,v in gou_mai2.items(): #将字典里的价格赋值给一个变量 jia_ge = v["价格"] #将字典里的数量赋值给一个变量 shu_liang = v["数量"] #将数量乘以价格等于每样产品的总价 zong_jia = shu_liang * jia_ge #打印出以购买的每样产品的价格,数量,总价 print(k,"价格", v["价格"], "数量", v["数量"], "总价=",zong_jia) #每次循环累计共计加总价等于共计消费 gong_ji += zong_jia #打印出共计费用 print("共计:",gong_ji) #判断总资产如果大于或者等于共计费用,购买成功,如果总资产小于共计费用说明资金不够 if zong_zi_chan1 >= gong_ji: print("恭喜你购买成功") else: print("对不起你的资金不够,请充值")
相关文章推荐
- 二叉搜索树转换成双向链表
- iOS自定义转场动画实战讲解
- Android JNI知识简介
- sql server 2012 备份集中的数据库备份与现有的xxx数据库不同
- 解决SQLSEVER 存储过程入参不能带入in的参数传带逗号值的办法
- vmtouch - the Virtual Memory Toucher
- windows7命令帮助大全
- Jpcap使用指南
- 4个经典算法问题的shell表示
- SPOJ220 Relevant Phrases of Annihilation
- Swift 烧脑体操一
- 单例的三种实现及理解
- 345. Reverse Vowels of a String
- 2015年十大热门Android开源新项目
- [1]AMQP(高级消息队列协议) ----入门
- 解决拷贝虚拟机中Linux系统无eth0的问题
- spring注解方式配置AOP
- mysql 性能分析套件
- 李洪强经典面试题14
- 卸载oracle删除注册表脚本