day2

列表

#Author:walter
import copy
names = ["LiZhiQing","walter",["mapple","maple"],"Aqing"]
names.append("LZQ")#最后插入名字
names.insert(1,"WXC")#在某个位置插入
names[2] = "Walter"#替换某个名字

for i in names: #下一行输出
print(i)
#print(names[0:-1:2]) #跳一个开始打印,其中0和-1可以省略不写
#names2=names.copy() #复制,只拷贝数据或者地址
#names2=copy.deepcopy(names) #深度拷贝,子数集不会发生改变
#print(names)
#print(names2)
'''
#delete
#names.remove("LZQ") #删除某个名字
#del names[1] =names.pop(1) #删除某个位置
#names.pop() #删除最后一个

#print(names[0],names[2]),#输出某个位置的名字
#print(names[1:3]) #输出1到3位置的名字,顾前不顾尾
#print(names[-3:]) #输出倒数第三道最后的名字

#print(names.index("LZQ"))#输出LZQ的位置
#print(names[names.index("LZQ")]) #输出该位置的名字

#print(names.count("LZQ"))#查询有几个“LZQ”,并输出
#names.clear() #清空
#names.reverse() #翻转
#names.sort() #按照ASCLL排序
print(names)

names2=[1 ,2, 3, 4]
names.extend(names2) #合并数据表
del names2 #删除整个表格
print(names,names2)
'''

字典


#Author:walter
info = {
'name1':"lzq",
'name2':"lzz",
'name3':"lqq",
}
print(info) #字典无序

print(info.get('name1')) #获取数据
print('name2' in info) #查询是否有,有真,无假


info.setdefault("name5","Wlater") #查询是否有值,有则用无则添加
info.update() #选择另一个字典,有则更新,无则添加
info.items() #把一个字典转成列表
info.fromkeys([6,7,8])#创建新的字典
print(info)

#循环
for i in info:
print(i,info[i]) #循环输出key-anlue,高效

for k,v in info.items():
print(k,v) #循环输出key-anlue,低效,原因讲第二个数据转换成列表 需要时间

'''
info["name1"]="LZQ" #修改
info["name4"]="walter" #增加
print(info)

#del
#del info["name1"] #删除
info.pop("name1") #标准删除
info.popitem() #随机删除
'''


各种用法


#Author:walter

name="walter"

print(name.capitalize()) #首字母大写
print(name.count("a")) #a字母有几个
print(name.center(50,"-")) #打50个字符,居中
print(name.endswith("er")) #以什么结尾
print(name.expandtabs()) #把“\t”键转化为多少空格
print(name.find("")) #切片
print(name.format( ))#格式化
print(name.format_map({ }))#字典
print(name.isalnum())#阿拉伯数字加字符
print(name.isalpha())#纯英文字符
print(name.isdecimal())#判断十进制
print('213'.isdigit())#判断是否为整数
print('-1A'.isidentifier())#判断是不是一个合法的标识符
print(name.islower())#判断是否为小写
print(name.isnumeric())#判断是不是一个数字,非常少用
print(name.isupper())#是否大写
print('+'.join(['1','2','3','4']))
print(name.ljust(50,'*'))#长度50,
print(name.rjust(50,'-'))#长度50,
p=str.maketrans("abcdef",'123456')
print("walter".translate(p)) #设置随机密码'''
print('walter li'.replace('l','L',2)) #替换,后面数字控制换的数量
print('walter li'.rfind('l'))#寻找最右边的字母下标
print('walter'.split('l'))#以某个‘’为分隔符
print('Walter'.swapcase())#大写变小写,小写变大写
print('walter'.title())#变成标题,首字母大写
print('walter li'.zfill(50))#b不够字符用0填充


购物车


#Author:walter

product_list=[
('iphone',5800),
('mac pro',9600),
('Bike',800),
('Watch',10600),
('coffee',31),
('book',120),
]
shopping_list=[]
salary=input("input you salary:")
if salary.isdigit(): #如果他是一个数字,转换为整数型
salary=int(salary)
while True:
for index,item in enumerate(product_list):#取出下标
print(index,item)
#方法二
#for item in product_list:
#print(product_list.index(item),item) #通过下标找编号
user_choice = input("选择你要买的东西的编号>>:")
if user_choice.isdigit(): #如果用户选择了,检测是否是输的数字
user_choice = int(user_choice) #转化为整数
if user_choice < len(product_list) and user_choice>=0: #判断列表长度大于等于0小于列表最大数
p_item = product_list[user_choice] #取出该产品
if p_item[1] <= salary: #买得起
shopping_list.append(p_item) #加入购物车
salary -= p_item[1]
print("Added %s into shopping cart, your current balance is \033[31;1m%s\033[0m"%(p_item,salary))
else:
print("\033[41;1m你的余额已经不足只剩[%s]啦,不可以购买\033[0m"%salary)
else:
print("你输入的商品[%s]不存在"%user_choice)
elif user_choice == 'q':
print("---------商品清单---------")
for p in shopping_list:
print(p)
print("你的余额还剩:",salary)
exit()
else:
print("invalid option")


posted @ 2018-08-19 22:15  walter清  阅读(113)  评论(0编辑  收藏  举报