功能需求:
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 continue 11 else: 12 break 13 for j in list: 14 print(j)
正文:
1 # Author:David Liu 2 # Be Happy! 3 4 5 salary=int(input("请输入你的工资:")) 6 list_new=[] 7 while True: 8 Commodity_List=['iPhone XR 6299¥','XiaoMi 9 3299¥', 9 '丰田威驰 79800¥','Only春装 1199¥', 10 '佛跳墙 999¥'] 11 for i in Commodity_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('\n',"已购商品:",'\n') 24 for j in list_new: 25 print(j) 26 print('\n',"余额:",salary,'\n') 27 break 28 else: 29 print("您的余额不足,无法购买!") 30 print('\n', "已购商品:", '\n') 31 for j in list_new: 32 print(j) 33 print('\n', "余额:", salary, '\n') 34 break
结语:
第二次阶段性成果,功能基本实现,全部为自己所想所写!
程序所用数据皆为虚构,仅供实验所用。
2019年3月5日