【附源码】Python :购物菜单

系列文章目录

Python 控件学习:购物菜单



前言

这段代码是一个使用 Python 的 tkinter 库和 PIL(现在称为 Pillow)库实现的简单购物菜单程序。程序提供了一个图形用户界面(GUI),允许用户浏览商品、将商品添加到购物车、查看购物车内容、清空购物车以及查看购物车总额。


一、项目需求

要求程序允许用户浏览商品、将商品添加到购物车、查看购物车内容、清空购物车以及查看购物车总额,最后将购物车里面的信息保存到本地txt文件中,每次启动程序都可以调用上次保存的购物车。

二、库与商品的导入

1.引入库

代码如下(示例):

import tkinter as tk  # 导入tkinter库,用于创建GUI
from tkinter import messagebox  # 导入messagebox,用于显示弹出消息框
from PIL import Image, ImageTk  # 导入PIL库中的Image和ImageTk模块,用于图像处理和显示

2.导入商品信息

代码如下(示例):

# 定义商品列表,每个商品有名称、价格和图片路径
products = {
   
   
    '1': {
   
   'name': '苹果', 'price': 5.0, 'image_path': 'apple.png'},
    '2': {
   
   'name': '香蕉', 'price': 3.0, 'image_path': 'banana.png'},
    '3': {
   
   'name': '橙子', 'price': 4.0, 'image_path': 'orange.png'},
    '4': {
   
   'name': '牛奶', 'price': 2.5, 'image_path': 'milk.png'},
    '5': {
   
   'name': '葡萄', 'price': 6.0, 'image_path': 'grape.png'}
}

3.初始化字典

代码如下(示例):

# 初始化购物车字典,用于存储商品ID和对应的数量
cart = {
   
   }

三、购物车代码编写

1.文件保存函数

代码如下(示例):

# 保存购物车到文件的函数
def save_cart_to_file():
    with open('cart.txt', 'w') as file:  # 打开文件准备写入
        for item, quantity in cart.items():  # 遍历购物车中的每个商品
            file.write(f"{
     
     item}: {
     
     quantity}\n")  # 将商品ID和数量写入文件

2.文件加载

代码如下(示例):

# 从文件加载购物车的函数
def load_cart_from_file():
    global cart  # 声明cart为全局变量
    cart.clear()  # 清空现有的购物车数据
    try:
        with open('cart.txt', 'r') as file:  # 打开文件准备读取
            for line in file:
                item, quantity = line.strip().split(': ')  # 分割每行数据
                cart[item] = int(quantity)  # 将数据存入购物车字典
    except FileNotFoundError:  # 如果文件不存在
        pass  # 忽略错误,购物车保持为空
    show_cart()  # 加载后显示购物车

3.清空购物车

代码如下(示例):

# 清空购物车的函数
def clear_cart():
    global cart  # 声明cart为全局变量
    cart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃饭团的饭桶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值