python3 购物车小程序,余额写入文件保存

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan

goods = (
    ("MiNote3", 2499),
    ("Bike", 799),
    ("MacBook", 6999),
    ("Coffee", 25),
    ("RedMiNote3", 1099),
    ("Python 3", 59)
)

def main():
    ‘‘‘
    入口
    :return:
    ‘‘‘

    # 创建一个文件,用于存储余额。
    try:
        with open(‘balance.txt‘, ‘r‘) as f:
            data_str = f.read()
            if data_str and (not data_str.isspace()):  # 有内容,
                balance = int(data_str)
            else:    # 有文件,但没有内容
                balance = input("请输入您的钱包余额:")
                if balance.isnumeric():
                    balance = int(balance)
                else:
                    print("请输入正整数")
                    exit()
                with open(‘balance.txt‘, ‘w‘) as f:
                    f.write(str(balance))
    except FileNotFoundError as e:  # 没有这个文件,就创建并写入内容
        balance = input("请输入您的钱包余额:")
        if balance.isnumeric():
            balance = int(balance)
        else:
            print("请输入正整数")
            exit()
        with open(‘balance.txt‘, ‘w‘) as f:
            f.write(str(balance))
    finally:
        f.close()  # 关闭文件。

    go_back_flag = True

    shopping_list = []

    while go_back_flag:

        for i, j in enumerate(goods):
            print(i, j)
        user_chiose = input("钱包余额是:% .2f,您要买什么?" % (balance))
        if user_chiose == ("q" or "Q"):
            go_back_flag = False
            continue
        elif user_chiose.isnumeric():
            user_chiose = int(user_chiose)

        else:
            print("请输入上面的序号")
            continue
        if user_chiose <= len(goods) - 1:  #符合
            if goods[user_chiose][1] <= balance:   #买得起
                balance -= goods[user_chiose][1]
                with open(‘balance.txt‘, ‘w‘) as f:  # 更新余额(覆盖)
                    f.write(str(balance))
                    f.close()
                print("已将 %s 加入您的购物车" %(goods[user_chiose][0]))
                shopping_list.append(goods[user_chiose])
            else:
                print("余额不足,买不了。")
        else:
            print("超出范围,没有这个序号")
    print("您的钱包余额是:%.2f。" %(balance))

    if len(shopping_list) == 0:
        print("您都没有买东西")
    else:
        print("下面将列出你已购买的商品")
        for i in shopping_list:
            print(i)

if __name__ == "__main__":
    main()

  

效果如下:

C:\Python36\python.exe D:/Py/1704/day05/购物车.py
请输入您的钱包余额:6666
0 (‘MiNote3‘, 2499)
1 (‘Bike‘, 799)
2 (‘MacBook‘, 6999)
3 (‘Coffee‘, 25)
4 (‘RedMiNote3‘, 1099)
5 (‘Python 3‘, 59)
钱包余额是: 6666.00,您要买什么?3
已将 Coffee 加入您的购物车
0 (‘MiNote3‘, 2499)
1 (‘Bike‘, 799)
2 (‘MacBook‘, 6999)
3 (‘Coffee‘, 25)
4 (‘RedMiNote3‘, 1099)
5 (‘Python 3‘, 59)
钱包余额是: 6641.00,您要买什么?2
余额不足,买不了。
0 (‘MiNote3‘, 2499)
1 (‘Bike‘, 799)
2 (‘MacBook‘, 6999)
3 (‘Coffee‘, 25)
4 (‘RedMiNote3‘, 1099)
5 (‘Python 3‘, 59)
钱包余额是: 6641.00,您要买什么?1
已将 Bike 加入您的购物车
0 (‘MiNote3‘, 2499)
1 (‘Bike‘, 799)
2 (‘MacBook‘, 6999)
3 (‘Coffee‘, 25)
4 (‘RedMiNote3‘, 1099)
5 (‘Python 3‘, 59)
钱包余额是: 5842.00,您要买什么?q
您的钱包余额是:5842.00。
下面将列出你已购买的商品
(‘Coffee‘, 25)
(‘Bike‘, 799)

Process finished with exit code 0

  

原文地址:https://www.cnblogs.com/hiuhungwan/p/9278837.html

时间: 2024-08-06 01:46:31

python3 购物车小程序,余额写入文件保存的相关文章

python路5__购物车小程序练习

1,购物车小程序 需求: (1),启动程序后,打印全部商品列表,用户输入工资 (2),许用户根据商品编号购买商品 (3),用户购买商品,余额不足就退出程序,并打印信息 (4),可随时退出,退出时,打印已购买商品和余额 2,流程图 3,代码 #!/usr/bin/python3 Product_list = [ ('Doido钻戒 ',8000), ('ROLEX手表',20000), ('HuaWei P10',4000), ('AppleWatch',2000), ('Ipad',1000),

python学习笔记——贰之购物车小程序_客户端

客户端大概流程 :买家系统 首先输入买家他的余额,之后会进行,通过文件里的来余额判断他是否上次消费过.如果有信息,就按照文件里的余额计算,替换掉买家输入的余额,如果没有信息证明客户是第一次来,就用买家输入的余额. 然后循环输出商品下标,和商品信息.客户通过下标来选择商品.选择的商品会被加入到 购物车列表 中,然后通过下标[1]得到商品的金额.计算出消费金额,这个消费金额 如果大于余额 那么 从购物车列表里删除这个商品 告知 余额不足,并提示买多少钱以内的商品.每加进一个商品,都会计算购物车的总金

Python入门基础---购物车小程序

1.购物车小程序: 1.1用户输入工资取60% 1.2打印输出商品菜单 1.3由用户输入数字选择 #__author:Mifen #date: 2018/11/27 # 购物车程序 #把工资作为账户的余额 salary = int (input('你的工资为:')) funds = salary * 0.6 # 取工资的60% #自定义本地商品数据列表[商品名称,价格,库存] menu = [['保留使用,不存数据'],['iPhone7',6000,30],['Notebook',9000,3

简单的购物车小程序

1 # -*- coding:utf-8 -*- #简单的购物车小程序 author:李学松 2 shopping_cart =[] 3 product_list_tatol = "---product list----" 4 welcome = "-----------welcome to shopping marketi----------" 5 product_list = [ 6 ('iphone',5800), 7 ('lenovo',900), 8 ('

微信小程序里各种文件是干什么的?

微信小程序首次进入 其他地方略过,这里讲一下,为什么要勾选"在当前目录中创建quick start项目",quick start项目相当于word文档中的模板,可以在模板的基础上直接修改. 创建好了以后,会看到这个 中间的部分的目录,就是微信小程序的工程结构重要的是图中的这些文件分别是干什么的? 这些文件可以分为四类,分别是以js.wxml.wxss和json结尾的文件.以js结尾的文件,一般情况下是负责功能的,比如,点击一个按钮,按钮就会变颜色. 以wxml为后缀的文件,一般情况下负

.net core 3.1 webapi后端接收钉钉小程序post的文件/图片

原文:.net core 3.1 webapi后端接收钉钉小程序post的文件/图片 世上本没路:走的人多了,便成了路. dd.uploadFile({ url: '请使用自己服务器地址', fileType: 'image', fileName: 'file', filePath: '...', success: (res) => { dd.alert({ content: '上传成功' }); }, }); 这就是官网上的例子,没有后端的.但是我猜这是用"Form"进行pos

Python 小程序,对文件操作及其他

下面是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比如说,从文件中读取一行数据,分别存放于列表中,再对列表进行操作,如去掉里面的重复项,排序等操作. 常见对文件中行进行操作: #这里列出两个常用的方法 方法01: 一次性读取所有行 >>> f = file('1.txt') >>> while 1: lines = f.readlines() if not lines: break for line in lines: print l

Python 小程序,对文件操作及其它

以下是自己写的几个对文件操作的小程序,里面涉及到文件操作,列表(集合,字典)的运用等.比方说,从文件里读取一行数据.分别存放于列表中,再对列表进行操作.如去掉里面的反复项.排序等操作. 常见对文件里行进行操作: #这里列出两个经常使用的方法 方法01: 一次性读取全部行 >>> f = file('1.txt') >>> while 1: lines = f.readlines() if not lines: break for line in lines: print

新手小白 python之路 Day4 (购物车小程序)

直接上需求: 购物车程序需求启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检查余额是否足够,够就直接扣款,不够就提醒可以随时退出,退出时,打印已购买商品和余额 一个比较简单的程序,使用列表操作写的,写了六个函数 Abnormal() 通过抛出异常来判断输入的编号是否合法 Commodity()取出该商品参数 名称 价格 AddShoppingCart() 添加到购物车 Shopping() 判断工资能否购买该商品,能的话加入到购物车 PrintLibra