day03
Posted shink
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day03相关的知识,希望对你有一定的参考价值。
pyc存放预编译后的字节码文件(半成品都没有)
bytes>>>String(解码) :encode(encoding="utf-8")
String>>>bytes(编码) :decode(encoding="utf-8")
----------------------------------------------------------------|
列表:
加:
names.append("xiaoming")
names.insert(插入的下标号,"xiaoming")
删除:
del names[1]
names.remove("xiaoming")
names.pop(1) #没序号删除最后一个
改:
names[2]="xiaoming"
切片:#print(names[1])
#print(names[1:3])
#print(names[-3:-1])
#print(names[-1])
#print(names[:3])
#print(names[-3:])
#print(names[0:-1:2])跳着切片
#print(names[:])全部切片
names.clear() 清空列表
names.count("xiaoming") 计算有多少个"xiaoming"
names.extend(names1) 列表合并
names.index("xiaoming") 列表的索引(下标序号)
names.sort() 排序按asc表排 符号 数字 大写 小写
names1=names.copy() 浅copy 只copy第一层
#深copy: import copy name2=copy.deepcopy(names)
‘‘‘for i in names:
print(i)
列表循环
‘‘‘
----------------------------------------------------------------|
元组:和列表差不多,但是一旦创建便不能修改 又叫只读列表
语法:
names = ("ales","shink",2)
只有两个方法: count() index()
----------------------------------------------------------------|
购物车程序:
需求:
1.启动程序后,让用户输入工资,然偶打印商品列表
2.允许用户根据商品编号共买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
理解:应先判断输入的是否为数字,再判断范围,活用列表(嵌套)理清逻辑关系即可。
product_list=[
("Iphone",5800),
("Mac pro",12000),
("Starbuck Latte",31),
("Alex Python",81),
("Bike",1000)]
shopping_list=[]
salary=input("input your salary:")
if salary.isdigit():
salary=int(salary)
while True:
for index,product in enumerate(product_list):
print(index,product)
p_choice=input()
if p_choice.isdigit():
p_choice=int(p_choice)
if p_choice<len(product_list) and p_choice>=0:
p_item=product_list[p_choice]
if p_item[1]<salary:
shopping_list.append(p_item)
salary-=p_item[1]
print("Added \033[31;1m%s\033[0m into shopping acrt, your current balance: \033[32;1m%s\033[0m" %(p_item[0],salary))
else:
print("\033[31;1m你的余额只剩 %s 啦,还买毛线\033[0m"%salary)
else:
print("product code \033[31;1m[%s]\033[0m is not exist!"% p_choice)
else:
if p_choice== ‘q‘:
print("---------shopping list---------")
for s in shopping_list:
print(s)
print("Your current balance:",salary)
exit()
else:
exit()
个人:变量命名不够规范,字体颜色不会,列表的使用不够成熟(未想到嵌套),未想到格式化输出,导致代码重复率高,英语不行
以上是关于day03的主要内容,如果未能解决你的问题,请参考以下文章