初识python: 列表(list)

2021-07-01 11:07

阅读:400

标签:author   xtend   mes   通过   for   购物车   购物   nbsp   sha   

使用列表函数写一个“购物车”小程序:

#!/user/bin env python
# author:Simple-Sir
# 20180908
‘‘‘
需求:
1、启动程序后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选着商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
‘‘‘
#定义商品
shangping = [
             [1,苹果,10],
             [2,香蕉,20],
             [3,芒果,30],
             [4,西瓜,40],
             [5,葡萄,50],
             [6,榴莲,60]
             ]
shangping_total = int(shangping[-1][0]) #取最后一个商品的编号
input_money = int(input(请输入您的预算:)) #预算金额
balance = input_money #余额
shangping_kx=[] #可选商品
yx_sp = [] #已选购商品
yx_sp_money = 0 #已选购商品总价
while balance >= int(shangping[0][2]):
    for i in range(0,shangping_total):
        if balance >= int(shangping[i][2]):
            shangping_kx.append(shangping[i])
        else:
            continue
    print(您可选购以下商品:)
    for j in shangping_kx:
        print(j)
    sp_no = input(请输入您想选购的商品编码:)
    yx_sp.append(shangping_kx[int(sp_no)-1])
    dq_xg_money = 0
    dq_xg_money = shangping_kx[int(sp_no)-1][2]
    yx_sp_money = int(yx_sp_money) + int(dq_xg_money)
    print(您已选购以下商品:)
    for k in yx_sp:
        print(k)
    print(您当前已选购商品总价为:,yx_sp_money,)
    balance = balance - int(dq_xg_money)
    print(你当前余额为:,balance,)
    shangping_kx.clear()
    if balance > 0 :
        is_continue = input(您是否还要继续选购商品?(Y/N))
        if str.upper(is_continue) != Y:
            print(欢迎您下次光临!)
            exit()
else:
    print(您当前余额已不足,请充值后再选购!)

 

列表知识点:

#!/user/bin env python
# author:Simple-Sir
# 20180908
# 列表测试

# names = ["lzh1","lzh2",["lhy1","lhy2"],"lzh4","lzh3","lzh4"]
# names.append("lzh_add") #添加,追加至最后位置
# names.insert(1,"lzh2_add") #插入,插入到指定位置
# names[2] ="lzh_update" #修改
# names.remove("lzh3") #删除指定值
# del names[0] #删除指定位置值
# names.pop(0) #删除指定位置值,默认删除最后一个值
# print(names.index("lzh4")) #查找指定值的位置
# print(names[names.index("lzh4")]) #通过位置查找值
# print(names.count("lzh4")) #统计指定值数量
# names.clear() #清空列表
# print(names.reverse()) #将列表值反转
# names2 = [1,2,3,4]
# names.extend(names2) #合并
# del names2 #删除合并值
# names2 = names.copy() #复制names,实际复制内存地址
# import copy
# names2 = copy.deepcopy(names) # 深copy,完全复制

# names[0] = "列表1"
# names[2][0] = "列表1" #列表中含有列表,浅copy,只复制第一层 -->name,names2 一起更改

# 列表循环
# for i in names:
#     print(i)

# print(names[0:3:2]) #间隔2个值,切片 类似:range(0:3:2)
# print(names[1:3]) #切片:包括起始位置,不包含结束位置“顾头不顾尾”
# print(names[-1]) # 取最后一个值
# print(names[-2:]) #取最后2个值
# print(names[:2]) #取前2个 等价于 print(names[0:2])
# print(names[:]) #取所有值

‘‘‘
#浅copy:
import copy
person = [‘name‘,[‘saving‘,100]]
p1 = person[:] #将person的值复制给p1
p2 = person[:] #将person的值复制给p2

p1[0] = ‘lzh‘ #修改name的值,只有p1变(外层)
p2[0] = ‘lhy‘ #修改name的值,只有p2变(外层)

p1[1][1] = ‘50‘ #修改100的值,p1、p2都变(内层)
print(p1)
print(p2)
‘‘‘

‘‘‘
# 元组
names = (‘lzh‘,‘lhy‘)
print(names.count(‘lzh‘)) #统计指定值数量
print(names.index(‘lhy‘)) #查找指定值对应的位置
‘‘‘

初识python: 列表(list)

标签:author   xtend   mes   通过   for   购物车   购物   nbsp   sha   

原文地址:https://www.cnblogs.com/simple-li/p/9637742.html


评论


亲,登录后才可以留言!