想想自己混的也是挺糟心的,从一个毫无疑问一定可以毕业的学生到了一个也许只能我一个不能毕业的学生;从一个不需要谁太担心的人,变成一个老头或者小孩?总而言之,如人生如浮萍,聚散两茫茫所说,一切都存在着未知,一件事没确定之前都是很难判断的。风无定,人无常,人生如浮萍,聚散两茫茫。加油吧!希望借此机会能够跳出chong围攀上龙凤枝,真正拼一把,希望吧!

goods=[
{'商品编号':'1','商品名称':'苹果顶配电脑','商品价格':100001,},
{'商品编号':'2','商品名称':'联想低配电脑','商品价格':10000},
{'商品编号':'3','商品名称':'苹果手机','商品价格':10},
{'商品编号':'4','商品名称':'迈凯伦 720s','商品价格':10000000},
]
name = 'cyd'
psd = '123'
salary = 0
count1 = 0
count2 = 0
count3 = 0
count4 = 0
shopping_lists = []
shopping_dicts = {}
print("您随时可以按’q'退出该程序。")while count1 < 3:count1  += 1inp_name = input('请输入您的名字: ').strip()if inp_name == 'q':count1 = 3breakinp_psd = input('请输入您的密码: ').strip()if inp_psd == 'q':count1 = 3breakif name == inp_name and psd == inp_psd:print('欢迎VIP %s!!!\n' %inp_name)while count2 < 3:salary = input('请输入您想要贷款的金额(金额 < 100000): ').strip()if str(salary) == 'q':count1 = 3count2 = 3breakif salary.isdigit():passelse:print("贷款金额输入请使用数字输入: ")continueif int(salary) < 100000:passelse:print("抱歉!你没有这么高的额度。")continuewhile count3 < 3:salary = int(salary)print('\n' + ' '*25 + '商品清单' + '\n')for good in goods:print('-'*10 + str(good) + '-'*10)print("您目前剩余金额: " + str(salary))label = input("请输入您想购买的商品编号: ").strip()if label == 'q':count1 = 3count2 = 3count3 = 3count4 = 3breakif label.isdigit():passif int(label) < len(goods) + 1  and int(label) > 0:passelse:print("您输入的商品不存在,商品编号请使用现有商品编号数字输入,请重新输入你想要购买的商品: ")count3 = 0continuegood_count = input("请输入您想购买的商品数量: ").strip()if good_count == 'q':count1 = 3count2 = 3count3 = 3count4 = 3breakif good_count.isdigit():passelse:print("商品数量请使用整数,请重新输入您想购买的商品数量: ")count2 = 0continueprint("您购买的是: %s * %s" %(goods[int(label) - 1]['商品名称'], good_count))for good in goods:if label in good['商品编号']:if salary - good['商品价格']*int(good_count) < 0:print("您的余额不足:")recharge = input('''1.输入'有德无敌帅'进行充值,充值金额为:10000000(一辆迈凯伦)\n2.输入'我已向支付宝15306815606转账'并向支付宝账户15306815606充值¥10,充值金额:1000000\n3.输入'3',充值金额:1000000\n4.输入'q'退出购物车\n请输入您想要充值的方法: ''').strip()if recharge == 'q':count1 = 3count2 = 3count3 = 3count4 = 3breakif recharge == '有德无敌帅':print("大佬我向你致敬!!!"* 3)salary = 10000000 + salarycontinueif recharge == '我已向15306815606支付宝转账':print("谢谢您的支持!!!"* 2)salary = 1000000 + salarycontinueif recharge == '3':print('''\t\t\t\t\t小气鬼喝凉水,老师打你你歪嘴,\n小气鬼喝凉水,喝了凉水变魔鬼,\n小气鬼喝凉水,娶个老婆四条腿,\n小气鬼喝凉水,生个儿子没大腿,\n小气鬼喝凉水,砸破罐子,割破嘴,\n小气鬼,喝凉水,回家抱着老婆亲不了嘴。\n''')salary = 100000 + salarycontinueelse:print("输出有误,请重新输入,需用数字输入序列号!")continueelse:salary = salary - good['商品价格']*int(good_count)print("您的余额还有: %s" %salary)for shopping_list in shopping_lists:if goods[int(label) - 1]['商品名称'] == shopping_dicts['商品名称']:shopping_dicts['商品数量'] += int(good_count)breakelse:shopping_dicts = {'商品名称': good['商品名称'], '商品数量': int(good_count)}shopping_lists.append(shopping_dicts)print("你当前购物车现有物品: %s" %shopping_lists[:])while count4 < 1:quit2 = input("如果还想购买请按‘c’,否按'q'退出程序").strip()if quit2 == 'c':count3 = 0count4 = 0breakelif quit2 == 'q':count1 = 3count2 = 3count3 = 3count4 = 3breakelse:print("您输入有误,请重新输入。")count4 = 0else:print("请重新输入您的账号密码。")if count1 == 3:breakprint("\n您已经成功购买: " + str(shopping_lists[:]))print("您还有余额: %s" % salary)

附代码:终极购物车代码。

第八天

元组类型

元组:元组是不可变的列表,能存入多个值,但多个值只有取的需求,而没有改的需求】

定义方式:在()内用逗号隔开任意类型的值

强调:当元组只有一个值的时候,务必加上一个逗号

x=('egon',)
print(type(x))

常用操作和内置方法:

1.按照索引取值(可以正向取,也可以反向取),只能取

2.切片(顾头不顾尾, 步长)

names=('alex','egon','wxx','lxx','cxxx')
print(names[1:3])

3.长度len()

names=('alex','egon','wxx','lxx','cxxx')
print(len(names))

4.成员运算in 和 not in

names=('alex','egon','wxx','lxx','cxxx')
print('alex' in names)

5.循环

names=('alex','egon','wxx','lxx','cxxx')
for item in names:print(item)

元组需要总结的方法:

1,del删除

names=('alex','egon','wxx','lxx','cxxx','lxx')
del names[0]

2.数出元组内值的个数

print(names.count('lxx'))

3.检索元组内值的位置

print(names.index('wxx',0,3))

元组总结:

1.存一个值或多个值,存的值可以是任意类型的

2.有序

3.不可变

注意:列表可变的底层原理:

指的是索引所对应的内存地址是可以改变的

元组不可变的底层原理:

指的是索引所对应的值内存地址是不可以改变的,或者反过来说,只要索引对应值的内存地址没有改变,那么元组始终是没有改变的

字典类型:

value通常可以是任意类型,key 通常是不可变类型,但大多数是字符串类型

优先掌握的操作和内置方法:

1.按key取值,可存可取

d={'x':1,'y':2}
d['x']=100
print(d)
d['z']=3
print(d)

2.长度len,

d={'x':1,'y':2}
print(len(d))

3.成员运算in 和 not in

d={'x':1,'y':2}
print('x' in d)

4.删除。pop和del类似于列表

d={'x':1,'y':2}
del d['x']
print(d)
res=d.pop('y')
print(d)
print(res)

5.popitem()随机删除字典中的一个键值对

res=d.popitem()
print(d)
print(res)

6.键keys()值values()和键值对items()

msg_dic={
'apple':10,
'tesla':100000,
'mac':3000,
'lenovo':30000,
'chicken':10,
}
names=[]
for k in msg_dic:names.append(k)
print(names)
values=[]
for k in msg_dic:values.append(msg_dic[k])
print(values)keys=msg_dic.keys()
print(keys)
for k in keys:print(k)=
l=list(keys)
print(l)vals=msg_dic.values()
print(vals)
print(list(vals))print(msg_dic.items())
print(list(msg_dic.items()))

7.循环

只取key
for k in msg_dic:
    print(k,msg_dic[k])

for k in msg_dic.keys():  #keys可加可不加
    print(k,msg_dic[k])

只取value
for v in msg_dic.values():
    print(v)

取key和value
for k,v in msg_dic.items(): #k,v=('apple', 10)
    print(k,v)

需要掌握的内置方法:

1.get()获取某个不存在的值的时候返回None,不会报错

d={'x':1,'y':2,'z':3}
v=d.get('xxxx')
print(v)
print(d['xxxxxxx'])

2.update(),把一个字典加入另一个字典中

d={'x':1,'y':2,'z':3}
d1={'a':1,'x':1111111}
d.update(d1)
print(d)

3.fromkeys,可以把一个列表初始化一个初始字典

l=['name','age','sex']
d={}
for k in l:d[k]=None
d=dict.fromkeys(l,None)
print(d)

4.setdefault

info.setdefault
info={'name':'egon','age':18,'sex':'male'}如果字典中有setdefault指定的key,那么不改该key对应的值,返回原的value
res=info.setdefault('name','EGON_NB')
print(info)
print(res)如果字典中没有setdefault指定的key,那么增加一个key:value,返回新的value
info.setdefault('height',1.80)
print(info)info={'age':18,'sex':'male'}
v=info.setdefault('name','浩哥')
print(v)

setdefault控制循环避免循环重复的值

s='hello alex alex say hello sb sb'
l=s.split()
print(l)
d={}
for word in l: #word=  'hello'
    if word not in d:d[word]=1 #{'hello':2, 'alex':2,'say':1}
    else:d[word]+=1
print(d)s='hello alex alex say hello sb sb'
l=s.split()
print(l)
d={}d={'hello':2,'alex':2}
for word in l: #word='alex'
    d[word]=l.count(word) #d['alex']=2
    d.setdefault(word,l.count(word))

风无定,人无常,人生如浮萍,聚散两茫茫——元组类型、字典类型的内置方法,第九天相关推荐

  1. Win10系统如何卸载内置的应用(如人脉,邮件日历,音乐)

    Win10系统如何卸载内置的应用(如人脉,邮件日历,音乐) Win10系统内置了很多"应用",在系统默认的开始菜单上都能看的,常见应用包括:闹钟和时钟,计算器,相机,邮件和日历,地 ...

  2. 胜负无定数,敢搏成七分

    一.胜负无定数,敢搏成七分,要向命运挑战 1.重在参与,敢于向自己挑战 做一件事无论是否成功,你都要找到自己的那份感觉.只要你参与并与之拚搏过,你就是成功了,"胜负无定数,敢搏成七分&quo ...

  3. 《胜负无定数,敢拼搏成七分》的读后感

    现华为技术有限公司董事.CEO 任正非于 1996 年在市场部内部竞聘现场答辩会上进行 了以<胜负无定数,敢搏成七分>为主题的讲话.讲话中提到:华为在快速增长机遇期做了一系列的变革.管理理 ...

  4. 著名成功人士的人生理念

     著名成功人士的人生理念 1.不要听信身边人的话,大一不谈恋爱,好的女孩子就被别人都挑走了.想想,刚上大一就耐不住寂寞,受不住诱惑,而去谈恋爱的女孩子,值得自己去追吗?大学里,可以有一场爱情,可是 ...

  5. 树的方向,风决定;人的方向,自己决定

    人都是被逼出来的,人的潜能是无限的,安于现状,你将逐步被淘汰,逼自己一把,树的方向,风决定:人的方向,自己决定.

  6. el-select 多选取值_它的新风换气有多厉害?格力风无界新风空调详细评测告诉你!...

    品质美好生活时代,随着人们对于室内空气健康与室内舒适度的日益关注,格力风无界新风空调成为了许多家庭的"新宠".那么,TA都具备哪些不同寻常的新风功能?实际体验又如何?通过超直观的挑 ...

  7. 人生聚散,一切随缘!

    人这一生, 每天都会遇见不同的人, 有的人,成了朋友, 有的人,成了过客, 有的人,能陪一生, 有的人,只陪一程. 不管是并肩前行, 还是陌路殊途, 遇见了就是缘分, 相处过就是福分, 我们没有未卜先 ...

  8. 【视频】摇滚金属一键混音教程|只用Superior Drummer3内置插件一键混音制作出前卫金属核/Djent风?|MZDStudios

    大家好,我是Jerome ,这里是MZD Studios.最近很久没发文章,也有五六个同学直接催我发文章,真抱歉.其实不用催,大家可以回去再看看以前的文章,我一开始都是教思路的,让你们有正确的混音观念 ...

  9. 方法论是大脑中内置的一级(元)算法,是人的核心思考结构和方式,是心智模型...

    方法论是大脑中内置的核心算法: 是人类认识世界改造世界的元算法: 科学知识是人的大脑中的二级算法: 二级算法需要一级算法来控制.调度和监督: 有人读了很多书,变成了高手:更多人终日学习,却依旧平庸.为 ...

最新文章

  1. Fatal Error: Out of memory php内存溢出处理三种方法
  2. Oracle数据库之数据处理
  3. spring——使用xml声明式事务整合jdbc——GRUD
  4. 乐尚网络:小程序商城零售行业10大新赋能
  5. J2EE应用与移动互联网-写在前头
  6. python set集合_Python字典(dict)和集合(set)
  7. Silverlight开发廋身攻略(二)
  8. 比特币 Logo 背后有哪些历史及象征意义?Logo 上的“B”为什么会向右倾斜?
  9. java实现会员管理系统_美发店会员管理系统助力门店实现智慧化管理!
  10. JavaScript实现图片上传并预览并提交
  11. VS2012快捷方式的路径
  12. dyndns免费动态域名
  13. 亚马逊云科技 Build On -serverless商店行业应用实践
  14. x60可以升级鸿蒙,vivo X60性能大提速:8GB内存秒变11GB,支持20个App秒开
  15. python电影推荐系统_推荐系统的几种形式(python版)
  16. c语言:13、指针与内存
  17. 2013年5月中国数码相机市场分析报告
  18. BiliBili系列(二):个人历史数据爬取与分析
  19. HDU 2033 - 人见人爱 A + B
  20. PHPExcel导出表格乱码解决

热门文章

  1. 【免费】小米即时消息云MIMC介绍——免费、简单实现IM
  2. MT【193】三面角的正余弦定理
  3. web学习入门资源总结
  4. python加上子类的特性_Python 中 Meta Classes详解
  5. 实习笔记——电力通信网
  6. 【二分图最佳匹配】丘比特的烦恼
  7. 每日分享190210
  8. 解决 waiting for file lock on package cache lock
  9. 《观止-微软创建NT和未来的夺命狂奔》 语录摘抄
  10. Linux man page命令后的数字含义