Python基础小项目 控制台实现一个商城购物车的程序

热门标签

,

本博客主题

高扩展、安全、稳定、响应式布局多功能模板。

¥69 现在购买

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

Python基础小项目 控制台实现一个商城购物车的程序

项目需求:

  1. 商品信息在文件存储的,存储形式:​ name price

    ​ 电脑 1999

    ​ 鼠标 10

    ​ 游艇 20

    ​ 美女 998

    ​ …

  2. 用户先给自己的账户充钱:比如先充3000元。
  3. 读取商品信息文件将文件中的数据转化成下面的格式:

​ goods = [{“name”: “电脑”, “price”: 1999},
​ {“name”: “鼠标”, “price”: 10},
​ {“name”: “游艇”, “price”: 20},
​ {“name”: “美女”, “price”: 998},

​ … ]

  1. 页面显示 序号 + 商品名称 + 商品价格,如:

​ 1 电脑 1999

​ 2 鼠标 10

​ …

  1. n 购物车结算
    1. q或者Q退出程序。
    2. 用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
    3. 如果用户输入的商品序号有误,则提示输入有误,并重新输入。
    4. 用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
    5. 用户输入Q或者q退出程序。
    6. 退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少,并将购买信息写入文件。

 


实现基本思路:(本人的)

  1. 熟练使用 if与while语法
  2. 熟练操作字符串
  3. 然后会对文件的存取
  4. 难点是对数据存入到文件和取出后对数据进行一定的格式要求

 

  • 第一步我先把这个整体的一个大while写好
  • 然后在去实现每个功能
  • 具体看代码
  • 基本功能实现但是和s老师代码一比自己还只是个孩子啊!
  • 加油!

 


代码:

#第一章大作业
def run():
    print("""
    1.管理员界面
    2.用户界面
    """)
    intext1 = input("请选择功能")
    if intext1 == '1':
        print("""
        1.添加商品
        2.显示商品
        """)
        intext2 = input("请选择功能")
        #添加商品
        if intext2 == '1':
            file = open('text.text', 'a+')
            name = input("请输入名称:")
            price = input("请输入价格:")
            file.write("\n")
            zong = "%s %s" % (name, price)
            file.write(zong)
            file.close()
        #显示商品(按一定格式显示)
        elif intext2 == '2':
            text2 = []
            file = open('text.text', 'r')
            text = file.read().split( )
            # print(len(text))
            for i in range(2,len(text),2):
                # print(i)
                dictzip = {}
                dictzip[text[0]]=text[i]
                dictzip[text[1]] = text[i+1]
                text2.append(dictzip)
            print(text2)
            file.close()
        else:
            print("输入错误")
    elif intext1 == '2':
        #充值金额
        money = input("请输入充值金额:")
        file = open('usermoney.text','a+')
        file.write("用户余额:%s\n"%money)
        print("充值成功")
        file.close()
        #购物车
        text2 = []
        text3 = []
        file = open('text.text', 'r')
        text = file.read().split()
        # print(len(text))
        for i in range(2, len(text), 2):
            # print(i)
            dictzip = {}
            dictzip[text[0]] = text[i]
            dictzip[text[1]] = text[i + 1]
            text2.append(dictzip)
        num = 0
        for i in text2:
            num+=1
            if num == 1:
                print("序号 名称   价格")
            print(" %s   %s   %s"%(num,i['name'],i['price']))

        # print(text2)
        file.close()

        while True:

            userin = input("请选择序号添加到购物车:")
            if userin == 'q' or userin == 'Q':
                print("退出程序")
                break
            elif userin == 'n' or userin == 'N':
                print("结算购物车")
                # while True:
                umoney = 0
                for i in text3:
                    umoney +=int(i['price'])
                num = 0
                for i in text3:
                    num += 1
                    if num == 1:
                        print("现在购物车内的商品")
                        print("序号 名称   价格")
                    print(" %s   %s   %s" % (num, i['name'], i['price']))
                print("商品总价:%s,你的钱包有:%s"%(umoney,money))
                print(type(umoney))
                print(type(money))
                while umoney > int(money):
                    print("你的钱包不够需要删除商品")
                    spnum = input("请输入删除商品的编号:")
                    if int(spnum) <= len(text3):
                        text3.pop(int(spnum)-1)
                        umoney = 0
                        for i in text3:
                            umoney += int(i['price'])
                        print("商品总价:%s,你的钱包有:%s" % (umoney, money))
                        num = 0
                        for i in text3:
                            num += 1
                            if num == 1:
                                print("现在购物车内的商品")
                                print("序号 名称   价格")
                            print(" %s   %s   %s" % (num, i['name'], i['price']))
                    else:
                        print("输出错误")
                if umoney <= int(money):
                    # 显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少,并将购买信息写入文件。
                    print("购买成功")
                    print("===================商品清单=====================")
                    num = 0
                    import datetime
                    nowTime = datetime.datetime.now().strftime('%Y%m%d%H%M%S')  # 现在
                    for i in text3:
                        num += 1
                        if num == 1:
                            print("序号 名称   价格")
                        text4 = " %s   %s   %s" % (num, i['name'], i['price'])
                        print(text4)
                        with open('%s.text' % nowTime, 'a+',encoding='utf-8') as filejin:
                            if num == 1:
                                filejin.write('===============消费记录=============\n')
                                filejin.write('序号 名称   价格\n')
                            filejin.write("%s\n"%text4)

                    text5 = "花费了:%s,余额为:%s" % (umoney, (int(money) - umoney))
                    with open('%s.text' % nowTime, 'a+') as filejin:
                        filejin.write('===================================\n')
                        filejin.write("%s\n" % text5)
                        filejin.write("订单生成时间:%s"%nowTime)
                    print(text5)

                    print("消费清单保存文件%s.text"%nowTime)

                    print("===============================================")

                    break

            elif int(userin) > len(text2):
                print("输出错误商品不存在")
            else:
                #添加到购物车
                text3.append(text2[int(userin)-1])
                num = 0
                for i in text3:
                    num += 1
                    if num == 1:
                        print("现在购物车内的商品")
                        print("序号 名称   价格  ")
                    print(" %s   %s   %s" % (num, i['name'], i['price']))
    else:
        print("输入错误")



if __name__ == '__main__':
    run()

未经允许不得转载:作者:乔越, 转载或复制请以 超链接形式 并注明出处 乔越博客
原文地址:《Python基础小项目 控制台实现一个商城购物车的程序》 发布于2019-10-29

分享到:
赞(0) 打赏

评论 抢沙发

7 + 3 =


Python基础小项目 控制台实现一个商城购物车的程序

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

79代刷网
代刷网各种代刷 售后有保证 代做各种网站有需要留言给我即可!
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册