文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

yi9w6

http://sjzytwl.xhstdz.com/comyi9w6/

相关列表
文章列表
  • 暂无文章
推荐文章
python实验设计报告----超市管理系统
发布时间:2025-01-02        浏览次数:1        返回列表

目录

python实验设计报告----超市管理系统

一.项目概述

二.文件结构

三.结果截屏

四.遇到问题和解决措施

五.源代码


项目介绍

设计题目:超市管理系统。

主要实现功能:管理员登录,增加商品,存储商品,修改商品,显示所有商品,用户注册和登录,查询商品,购买商品。

图1:超市管理系统流程图

总共写了5个文件。

文件一work.py:用户可以输入身份选择作为管理员或普通用户登录。根据不同的身份,系统提供相应的功能。

文件二goods.py:初始化商品对象。

文件三manager.py:定义了一个名为Manager的类,用于实现超市商品管理系统的管理员功能,对超市商品的增删改查等管理操作这个类具有以下主要方法:管理员登录login(),展示管理员功能selectManageCode(),查询并打印所有商品信息queryAllGoods()添加商品addGoods(),删除商品deleteGoods(),修改商品价格modifyGoods()。

文件四user.py:初始化用户对象。

文件五userfun.py定义了一个用户功能类,主要用于处理超市系统中普通用户的操作,包括商品查询、购买流程管理等。这个类具有以下主要方法:显示用户功能user_option(),注册新用户register()让用户决定是否进行新用户注册selectRegister(),查询某件商品 findGoodsById(),购买商品添加至购物车buyGoods()。

图2 

图3 

图5

问题1TypeError: 'str' object is not callable

解决措施:在格式化字符串时犯了一个错误。问题在于打印商品列表时忘记添加% 操作符。

问题2TypeError: 'set' object is not subscriptable

解决措施当尝试从 self.goodlist 中获取最后一个商品时,报错提示 'set' object is not subscriptable。这是因为在创建 Manager 实例时将 goodlist 初始化为了一个集合(set,而在 Python 中集合是不可通过索引访问其元素的。为了解决这个问题在初始化 Manager 时传入的是列表(list)而不是集合(set)。

问题3TypeError: must be real number, not str

解决措施在 queryAllGoods 方法中,当遍历 self.goodlist 并打印商品信息时,错误提示是因为有一个商品的价格不是数字类型而是字符串类型。这可能是因为在添加商品时,尽管已经使用了 try-except 语句来确保输入的商品价格为数字类型,但是在某些情况下,它没有正确地将用户输入转换为浮点数。为了解决这个问题我再次检查 addGoods 方法中的 goodprice 变量是否始终被成功转换为浮点数。

问题4TypeError: UserFun.init() takes 1 positional argument but 2 were given

解决措施:在 UserFun 类中定义了两个 __init__ 方法,当实例化 UserFun 类时,Python 不知道该调用哪个初始化方法。同时,第一个 __init__ 方法接收一个参数 goodlist,而第二个 __init__ 方法不接收任何参数。为了解决该问题需要将这两个初始化方法合并成一个,并确保它能正确处理商品列表和用户列表。

work.py

 

goods.py

 

manager.py

 

user.py

 

userFun.py