列表
列表的索引从0开始
通过切片与步长等可对列表内多个元素进行操作
1.查
- .count 对列表内某元素进行计数
- .index 根据元素查找索引
2.增
- .append() 在列表末尾追加新的元素
- .insert() 根据输入的索引在相应位置添加元素
- .extend() 将另一个列表中的元素加入列表 扩展
3.改
-直接对元素进行赋值替换
4.删除
- remove(“内容”)
- pop() 通过索引
- del 为所欲为的删除
- .clear 清空列表
5.排序
- sort 对列表进行从小到大的排列
- reverse 对列表的排序进行倒置
通过之前学习的内容进行的练习:
需求:
用户输入余额
然后展示商品进行购买
通过输入关键字进行购买
购买完成显示当前剩余余额
如果余额不足则不能购买
每次购买单独结算
输入关键字quit退出程序
退出后显示已购买的物品以及余额。
#author: DELL.cn
#date: 2018/9/4
while True:
salary = input("请输入工资:")
if salary.isdigit():
salary = int(salary)
print("当前余额为:",salary)
break
else:
print("请输入数字")
continue
goods = ["iphoneX", "mac book", "coffee", "books"]
price = [8000, 10000, 30, 100]
shopping = []
print("1:",goods[0]," ",price[0])
print("2:",goods[1]," ",price[1])
print("3:",goods[2]," ",price[2])
print("4:",goods[3]," ",price[3])
print("如需结束购买请输入quit")
while True:
num = input("请输入所需的商品编号:")
if num == "quit":
break
elif num.isdigit():
num = int(num)
if num > 4 or num < 1:
print("超出购买范围,请输入正确的数字")
continue
else:
print("请输入数字")
continue
print("想要购买",goods[num-1],"是吗?")
affirm = input("请回复y进行确认:")
if affirm == "y" or affirm == "Y":
if salary > price[num-1] or salary == price[num-1]:
print("商品已购买")
shopping.append(goods[num-1])
salary = salary - price[num-1]
print("您剩下余额为:",salary)
else:
print("您的余额不足")
print("您本次购买:")
for x in shopping:
print(x)
print("您的余额为:",salary)
print("欢迎下次光临")
列表可以进行嵌套故 以上的两个列表可以嵌套在一起。
goods = ["iphoneX", "mac book", "coffee", "books"]
price = [8000, 10000, 30, 100]
goods = [["iphoneX",8000], ["mac book",10000], ["coffee", 30], ["books",100]]
之前打印商品列表时多次使用了print,可以使用for循环进行打印。
for a,b in enumerate(goods,1):
print(a," ",b)
enumerate列举列表内的元素,后面的参数为前面的序号。 通过两个变量来接收序号和列表的信息。
优化如下
#author: DELL.cn
#date: 2018/9/4
while True:
salary = input("请输入工资:")
if salary.isdigit():
salary = int(salary)
print("当前余额为:",salary)
break
else:
print("请输入数字")
continue
goods = [["iphoneX",8000], ["mac book",10000], ["coffee", 30], ["books",100]]
shopping = []
for a,b in enumerate(goods,1):
print(a," ",b)
# print("1:",goods[0][0]," ",goods[0][1])
# print("2:",goods[1][0]," ",goods[1][1])
# print("3:",goods[2][0]," ",goods[2][1])
# print("4:",goods[3][0]," ",goods[3][1])
print("如需结束购买请输入quit")
while True:
num = input("请输入所需的商品编号:")
if num == "quit":
break
elif num.isdigit():
num = int(num)
if num > len(goods) or num < 1:
print("超出购买范围,请输入正确的数字")
continue
else:
print("请输入数字")
continue
print("想要购买",goods[num-1][0],"是吗?")
affirm = input("请回复y进行确认:")
if affirm == "y" or affirm == "Y":
if salary > goods[num-1][1] or salary == goods[num-1][1]:
print("商品已购买")
shopping.append(goods[num-1])
salary = salary - goods[num-1][1]
print("您剩下余额为:",salary)
else:
print("您的余额不足")
print("您本次购买:")
for x,y in enumerate(shopping,1):
print(x," ",y)
print("您的余额为:",salary)
print("欢迎下次光临")