# -*- coding: utf-8 -*-
# @Time : 2018/12/25 14:24
# @Author : Endless-cloud
# @Site :
# @File : day05 -day 8课后作业.py
# @Software: PyCharm
'''
# 1.有如下变量(tu是个元祖),请实现要求的功能
# tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
# a. 讲述元祖的特性
# b. 请问tu变量中的第一个元素 "alex" 是否可被修改?
# c. 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
# d. 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven" '''
# tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
# a
# 元祖的儿子辈不能改,但是孙子辈的可能能做修改
# b
# 不能修改
# c
# k2 的值是字典类型 可以被修改
# tu[1][2]['k2'].append('seven')
# print(tu)
# d 不能修改,因为里面是元祖
'''
# 2.字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
# 请循环输出所有的key
# 请循环输出所有的value
# c. 请循环输出所有的key和value
# d. 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
# e. 请在修改字典中 "k1" 对应的值为 "alex",输出修改后的字典
# f. 请在k3对应的值中追加一个元素 44,输出修改后的字典
# g. 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典 '''
#
# dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
# a for i in dic:
# print(i)
# b
# for i in dic.values():
# print(i)
# c
# for i , j in dic.items():
# print(i , j)
# d
# dic['k4']=['v4']
# print(dic)
# e
# dic['k1'] = 'alex'
# print(dic)
# f
# dic['k3'].insert(1,'18')
# print(dic)
# f
# dic['k3'].append('44')
# print(dic)
'''
# 3.av_catalog = {
# "欧美":{
# "www.太白.com": ["很多免费的,世界最大的","质量一般"],
# "www.alex.com": ["很多免费的,也很大","质量比yourporn高点"],
# "oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
# "hao222.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
# },
# "日韩":{
# "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
# },
# "大陆":{
# "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
# }
# }
# a,给此 ["很多免费的,世界最大的","质量一般"]列表第二个位置插入一个 元素:'量很大'。
# b,将此 ["质量很高,真的很高","全部收费,屌丝请绕过"]列表的 "全部收费,屌丝请绕过" 删除。
# c,将此["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]列表的 "verygood"全部变成大写。
# d,给 '大陆' 对应的字典添加一个键值对 '1048' :['一天就封了']
# e,"oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"]
# f,给此["全部免费,真好,好人一生平安","服务器在国外,慢"]列表的第一个元素,加上一句话:'可以爬下来' '''
# av_catalog = {
# "欧美":{
# "www.太白.com": ["很多免费的,世界最大的","质量一般"],
# "www.alex.com": ["很多免费的,也很大","质量比yourporn高点"],
# "oldboy.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
# "hao222.com":["质量很高,真的很高","全部收费,屌丝请绕过"]
# },
# "日韩":{
# "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","verygood"]
# },
# "大陆":{
# "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
# }
# }
# a
# av_catalog['欧美']["www.太白.com"].insert(2,'量很大')
# print(av_catalog)
#
# b
# av_catalog['欧美']['hao222.com'].pop()
# print(av_catalog)
# c
# av_catalog['日韩']['tokyo-hot'][1]=av_catalog['日韩']['tokyo-hot'][1].upper()
# print(av_catalog)
# print(l)
# #d
# av_catalog['大陆']['1048']='一天就封了'
# print(av_catalog)
# e
# f
# av_catalog['大陆']['1024'][1]+='可以趴下来'
# print(av_catalog)
'''
# 4.有字符串"k: 1|k1 :2|k2:3 |k3 :4" 处理成字典 {'k':1,'k1':2....} (升级题)
'''
# l1 ="k: 1|k1 :2|k2:3 |k3 :4"
# l2 =''
# for i in l1:
# if i !=' ':
# l2=l2+i
# a= []
# b =[]
# c ={}
# l4 =l2.split('|')
# for i in l4:
# a.append(i[-1])
# b.append(i[:-2:])
# print(dict(zip(b,a)))
########################## 重点
# l2 =''
# d ={}
# for i in l1:
# if i !=' ':
# l2=l2+i
# # print(l2)
# l3 =l2.split('|')
# print(l3) # for i in l3 :
# k,v =i.split(':')
# d[k]=v
# print(d)
# l1 ="k: 1|k1 :2|k2:3 |k3 :4"
# c ={}
# l6=l1.split('|')
# for i in l6:
# k,v=i.split(':')
# c[k.strip()]=v.strip()
# print(c)
'''
5.元素分类
# 有如下值li= [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]
# dic1 ={}
# big =[]
# small =[]
# for i in li :
# if i >66:
# big.append(i)
# else:small.append(i)
# dic1['k1']=big
# dic1['k2']=small
# print(dic1)
'''
# 6.输出商品列表,用户输入序号,显示用户选中的商品
# 商品列表:
# goods = [{"name": "电脑", "price": 1999},
# {"name": "鼠标", "price": 10},
# {"name": "游艇", "price": 20},
# {"name": "美女", "price": 998}, ]
#
# 要求:
# 1:页面显示 序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# …
# 2:用户输入选择的商品序号,然后打印商品名称及商品价格
# 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 4:用户输入Q或者q,退出程序。 '''
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
end_list=[]
shop_list = []
num = []
i=0
while True:
print('序号 商品名字 电脑价格')
for i, j in enumerate(goods):
print('%s %s %s' % (i + 1, j['name'], j['price']))
chiose = input('请输入序号, 输入q退出')
if chiose.isdigit():
chiose =int(chiose) # shop_list[chiose-1]['num']=0
if chiose-1 < len(goods):
shop_list = goods[chiose - 1].copy()
# print(' {} {}'.format(goods[chiose-1]['name'],goods[chiose-1]['price']))
print("%s %s"%(goods[chiose-1]['name'],goods[chiose-1]['price'])) if shop_list in end_list:
shop_list['num'] = i
i = i + 1
shop_list['price'] = goods[chiose - 1]['price'] * (i - 1)
end_list.pop()
end_list.append(shop_list)
else:
print('列表中不存在该物品,生成该物品')
shop_list['num'] = i
i = i + 1
shop_list['price'] = goods[chiose - 1]['price'] * (i - 1) end_list.append(shop_list) elif chiose-1>len(goods):
print('你输入的内容不再该序号里') elif chiose =='q':
l2 =[]
print('退出程序')
for i in end_list:
if i not in l2:
l2.append(i)
# print(l2)
print('你购买的物品是 %s %s %s '%('名字','金额','数量'))
sum =0
for i in l2:
print(' %s %s %s'%(i['name'], i['price'],i['num']))
sum =sum+i['price']
print('花费的总金额为%s'%(sum)) break else:
print('输入数字或者q,不要输入其他的')

day05 --class --home的更多相关文章

  1. My way to Python - Day05 - 面向对象-思维导图

    My way to Python - Day05 - 面向对象   思维导图

  2. day05 Servlet 开发和 ServletConfig 与 ServletContext 对象

    day05 Servlet 开发和 ServletConfig 与 ServletContext 对象 1. Servlet 开发入门 - hello world 2. Servlet 的调用过程和生 ...

  3. python day05笔记总结

    2019.4.2 S21 day05笔记总结 一.昨日内容回顾与补充 1.extend(列表独有功能) 循环添加到一个列表中 a.有列表users = ['张三',‘李四]   people = [' ...

  4. Python基础(协程函数、内置函数、递归、模块和包)-day05

    写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04  ...

  5. day05(Object,tostring(),equals(),System,Date,SimpleDateFormat,拆装箱,正则表达式)

    Object类, 是所应类的父类: 拥有自己的方法:常用的    红颜色标记的为常用的方法 toString() 用法:打印对象的地址值 getClass() 获取当前类的字节码文件getName() ...

  6. 超全面的JavaWeb笔记day05<xml&dtd&jaxp>

    0.表单提交方式(*****) button提交 超链接提交 事件 1.xml简介和应用(了解) 2.xml文档声明和乱码解决(*****) 文档声明 必须放在第一行第一列 设置xml编码和保存编码一 ...

  7. Day05 xml详解

    day05总结 今日内容 XML语法 XML约束之DTD XML解析器介绍 XML解析之JAXP( DOM.SAX ) DOM4J Schema   一.XML语法 XML概述   1 什么是XML ...

  8. python开发学习-day05(正则深入、冒泡排序算法、自定义模块、常用标准模块)

    s12-20160130-day05 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  9. 2017-2018-1 JAVA实验站 冲刺 day05

    2017-2018-1 JAVA实验站 冲刺 day05 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结 100% 齐力锋 找按钮音乐 100% 张浩林 写博客 100% ...

随机推荐

  1. 一些jquery常用方法

    1.jquery实现平滑滚动到指定锚点 $(document).ready(function() { $("a.topLink").click(function() { $(&qu ...

  2. python3菜鸟教程

    http://www.runoob.com/python3/python3-class.html

  3. Multithreading in C

    Multithreading in C, POSIX(可移植操作系统接口Portable Operating System Interface X ) style Multithreading - A ...

  4. Visual Studio工具 vcpkg简介

    博客参考: https://blog.csdn.net/cjmqas/article/details/79282847#43-%E7%A7%BB%E9%99%A4%E5%85%A8%E5%B1%80% ...

  5. Java Thread系列(七)死锁

    Java Thread系列(七)死锁 当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程 A 当前持有互斥所锁 lock1,线程 B 当前持有互斥锁 lock2.接下来,当线程 A 仍然 ...

  6. DB2存储过程通过游标实现批量数据处理

    CREATE procedure proc_change()LANGUAGE SQLBEGIN DECLARE l_id INTEGER; DECLARE l_detail_id INTEGER; D ...

  7. Mysql索引会失效的几种情况分析(转)

    出处:http://www.jb51.net/article/50649.htm 索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使用(这 ...

  8. golang C相互调用带参数

    test.h #ifndef __TEST_H__ #define __TEST_H__ void SetFunc(char* str); extern void InternalFunc(char* ...

  9. 个人如何免费申请一个微信小程序账号进行开发尝鲜

    大家都知道微信小程序并没有开放个人申请注册账号,觉得很遗憾,作为一个开发者,居然不能一览究竟. 前段时间研究了一番,教大家如何个人申请注册一个小程序账号,不花300块钱,当然只能作为开发尝鲜,不能发布 ...

  10. 超级详细的解决方法 (CentOS7) :永久修改 mysql read-only 问题 could not retrieve transation read-only status server

    一.查看mysql的事物隔离级别 SHOW VARIABLES LIKE '%iso%'; 二.临时修改事物隔离级别 SET GLOBAL tx_isolation='READ-COMMITTED'; ...