功能需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,监测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
相关知识点:
print(names[0:2])#切片,前闭后开区间,顾头不顾尾,0可以忽略
print(names[0:-1:2])#跳着切片,1是步长,类似range
print(names[:])#全切片
print(names[-1])#未知长度,取最后一个
-------------------------------------------------------------
names.append("cat")#追加
names.insert(2,"lalala")#指定位置插入
names[0]="david"#改
-------------------------------------------------------------
#删除
names.remove("cat")
del names[2]
names.pop()#不输入的话默认删除最后一个,否则:del names[2]=names.pop(2)
del names #是直接删除该列表
-------------------------------------------------------------
#找位置
print(names.index("wangshulin"))#index是索引的意思
#计数
print(names.count("wangshulin"))
#反转
names.reverse()
#排序
names.sort()
#extend,连接两个列表
-------------------------------------------------------------
#复制+嵌套
names=["david","wangshulin",["1","2"],"dog"]
names3=names.copy()
names[0]="liuhaolai"
names[2][0]="2"
print(names)
print(names3)#为什么名字没改,2却改了。因为!!!copy是浅copy,只copy第一层
-------------------------------------------------------------
#要想完全复制,导入新模块(用处不多,占内存)
import copy
names4=copy.deepcopy(names)
前言:
1 #自己编的,交互列表打印
2
3
4 list=[]5 while True:6 name=input("请输入您的姓名:")7 list.append(name)8 question=input("继续输入?--y/n")9 if question=="y":10 continue11 else:12 break13 for j in list:14 print(j)
正文:
1 #Author:David Liu
2 #Be Happy!
3
4
5 salary=int(input("请输入你的工资:"))6 list_new=[]7 whileTrue:8 Commodity_List=["iPhone XR 6299¥","XiaoMi 9 3299¥",9 "丰田威驰 79800¥","Only春装 1199¥",10 "佛跳墙 999¥"]11 for i inCommodity_List:12 print(Commodity_List.index(i)+1," ",i)#自动显示序号13 list=[["iPhone XR","6299"],["XiaoMi 9","3299"],["丰田威驰","79800"],["Only春装","1199"],["佛跳墙","999"]]14 number=int(input("请输入您想购买的商品编号:"))15 if salary>=int(list[number-1][1]):16 print("购买成功!")17 list_new.extend(list[number - 1])18 salary=salary-int(list[number-1][1])19 question=input("是否继续购买?y/n")20 if question=="y":21 continue
22 else:23 print(" ","已购商品:"," ")24 for j inlist_new:25 print(j)26 print(" ","余额:",salary," ")27 break
28 else:29 print("您的余额不足,无法购买!")30 print(" ", "已购商品:", " ")31 for j inlist_new:32 print(j)33 print(" ", "余额:", salary, " ")34 break
结语:
第二次阶段性成果,功能基本实现,全部为自己所想所写!
程序所用数据皆为虚构,仅供实验所用。
2019年3月5日