Python基于列表实现简易购物车程序详解

许南星
许南星
发布时间:2026-10-11 | 1人浏览过
原创

本文详细解析如何使用Python列表实现一个简易的购物车程序。通过定义商品列表、管理用户余额及已购商品,程序实现了商品展示、购买逻辑、余额校验及退出结算功能。代码包含完整的交互流程,适合初学者理解列表操作与条件判断的应用。

程序功能与逻辑设计

该购物车程序的核心目标是通过Python的基础数据结构模拟购物流程。程序启动后,首先要求用户输入初始余额,随后展示商品列表供用户选择。用户通过输入商品编号进行购买,系统会根据当前余额判断购买是否成功。若余额充足,商品将被加入购物清单,并从余额中扣除相应金额;若余额不足,则提示购买失败。用户可随时输入特定指令退出程序,退出时将打印最终余额及已购商品列表。

核心代码实现

程序通过列表(List)存储商品信息,并使用一个包含余额和商品列表的复合结构来管理用户状态。以下是完整的实现代码:

# 用户输入工资
balance = int(input("Please input balance:"))
# 定义衣服的数组
clothes = [["pants",100],["T-shirt",50],["skirt",20]]
# 个人所得,包括金钱和获取的物品
haveGoods = [balance,[]]
flag = True
while flag:
  # 打印衣服列表
  print("The clothes list is as follows")
  print("______clothesList______")
  i = 1;
  for c in clothes:
    print('The number:',i,":",c)
    i += 1

  # 用户输入商品编号
  code = int(input("Please choose the number:"))
  # 判断钱是否够用
  if clothes[code-1][1] <= haveGoods[0]:
    # 在自己的购物清单中加入已购物品
    haveGoods[1].append(clothes[code-1])
    # 减去花费的金钱
    haveGoods[0] -= clothes[code-1][1]
    print("You have successfully purchased!")
    print("Your account balance is:",haveGoods[0])
  else:
    print("Your account balance is insufficient!")
    print("Your account balance is:",haveGoods[0])
  judge = input("You can press any button to continue,or input 'n' to leave:")
  if judge == "n":
    flag = False
print("Your account balance is:",haveGoods[0])
print("Your shopping list is as follows:")
print("______clothesList______")
for h in haveGoods[1]:
  print(h)

代码逻辑解析

程序初始化阶段,通过 input() 获取用户输入的初始余额,并将其转换为整数。商品数据以嵌套列表的形式存储在 clothes 变量中,每个子列表包含商品名称和价格。用户状态由 haveGoods 列表管理,其中第一个元素为当前余额,第二个元素为已购商品列表。

在 while 循环中,程序首先遍历 clothes 列表,打印商品编号及详细信息。用户输入商品编号后,程序通过 clothes[code-1][1] 获取商品价格,并与当前余额 haveGoods[0] 进行比较。若余额充足,商品将被追加到 haveGoods[1],并从余额中扣除相应金额;否则,提示余额不足。

每次购买操作后,程序询问用户是否继续。若用户输入 'n',则设置 flag = False 退出循环。程序结束后,打印最终余额及已购商品列表。

注意事项

该程序为教学示例,未包含异常处理机制。若用户输入非整数或超出范围的编号,程序可能抛出 ValueError 或 IndexError。在实际应用中,建议增加输入验证逻辑,以提升程序的健壮性。

以上就是Python基于列表实现简易购物车程序的详细内容,更多关于Python列表应用及基础编程的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表