【python】——超市管理系统和用turtle动态画图(爱心和魔幻曲线)

这篇具有很好参考价值的文章主要介绍了【python】——超市管理系统和用turtle动态画图(爱心和魔幻曲线)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🎃本期内容概括:这期博客主要分为三个程序,下面是对三个程序的简介。

💎程序一:这是一个超市管理系统,其中包括5种操作,分别是:1.查询商品 2.新增商品 3.卖出商品 4.汇总 5.退出系统等功能。

💎程序二:相信很多友友都想用程序给自己爱的人画一个爱心,包括博主,那巧了,博主这里有一个好玩的小程序,这里了引入一个turtle库,动态的画一个爱心。

💎程序三:大家可在经常在数学里面见到曲线,在路过理发店时,见到门口的正在旋转的曲线,都好奇地想,它到底向上走的还是向下走的。这里我引入一个turtle库,动态画一个类似的魔幻曲线,一起来看看吧

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯超市管理系统:

🎐所要解决的问题:

🎐 解题思路:

🎐程序代码:

💻分布解析:

💻总代码:

🎯turtle动态画爱心:

🎃实现代码:

 🎃实现效果:

 🎯turtle动态画魔幻曲线:

🎃实现代码:

 🎃实现效果:


🎯超市管理系统:

🎐所要解决的问题:

(1)系统包括5种操作,分别是:1.查询商品;2.新增商品;3.卖出商品;4.汇总;-1.退出系统。

(2)选择操作序号“1”,显示所有库存商品,若当前库存无商品,输出“当前库存商品为零”的提示信息。

(3)选择操作序号“2”,添加新的商品(包括商品名称、进货价格、销售价格、进货数量)。

(4)选择操作序号“3”,卖出商品(输入卖出商品名称,若商品有库存,输入销售数量,若库存数量大于等于销售数量,卖出商品,并进行收银,并将库存数量减去销售数量)

(5)选择操作序号“4”,汇总现有库存商品,包括每种商品名称、进货价格、销售价格、库存数量,显示进货总货款(进货款为负值),显示总销售额。

(6)选择操作序号“-1”,退出系统。

系统运行时各种情况的测试数据如下图所示:

【python】——超市管理系统和用turtle动态画图(爱心和魔幻曲线),python,python,开发语言

🎐 解题思路:

        这个超市管理系统可以通过面向对象的方式来设计。首先,我们可以定义一个商品类,包括商品名称、进货价格、销售价格和库存数量等属性。然后创建一个超市管理系统类,该类包含添加商品、查询商品、卖出商品、汇总信息和退出系统等方法。

        在主程序中,通过循环接收用户输入的操作序号,并调用相应的方法来实现不同的功能。当用户选择操作序号1时,系统会列出所有库存商品;选择操作序号2时,系统可以添加新的商品信息;选择操作序号3时,系统可以进行商品销售操作,减少库存数量并进行收银;选择操作序号4时,系统将汇总现有库存商品信息并显示进货总货款和总销售额;选择操作序号-1时,退出系统。

🎐程序代码:

💻分布解析:

class Commodity:
   def __init__(self,name,inputprice,outputprice,num,num_sold=0):
       self.name=name
       self.inputprice=inputprice
       self.outputprice=outputprice
       self.num=num
       self.num_sold=num_sold

         在这个类中,我们定义了商品名称(name)、进货价格(inputprice)、销售价格(outputprice)、库存数量(num)和已售出数量(num_sold)作为属性,其中已售出数量默认为0。初始化方法用于创建商品对象并初始化其属性。


class Supermarket:
   def __init__(self):
       self.commodities = []  # 初始化一个空的商品列表

   def add_commodity(self, name, inputprice, outputprice, num):
       commodity=Commodity(name, inputprice, outputprice, num)  # 创建商品对象
       self.commodities.append(commodity)  # 将商品添加到商品列表中

   def list_commodities(self):
       if not self.commodities:  # 判断商品列表是否为空
           print("当前库存商品为零")
       else:
           for commodity in self.commodities:
               print(f"商品名称:{commodity.name},进货价格:{commodity.inputprice},销售价格:{commodity.outputprice},库存数量:{commodity.num}")

         在Supermarket类中,我们初始化了一个空的商品列表,并实现了添加商品和列出商品的功能。添加商品方法会创建Commodity对象,并将其添加到商品列表中。列出商品方法会逐个打印每个商品的信息。


   def sell_commodity(self, name, num_sold):
       # 略...

   def summary(self):
       # 略...

         在这两个方法中,卖出商品方法会处理商品的销售操作,包括计算应付款、输入付款金额、更新库存等。汇总信息方法会打印出当前所有商品的情况,包括商品名称、进货价格、销售价格、库存数量,以及总销售额和总进货额。


def main():
   # 略...
if __name__=="__main__":
   main()

        在主程序中,首先打印欢迎消息和菜单选项。然后通过循环接收用户输入的菜单编号,并根据用户的选择调用不同的超市管理系统方法来实现不同的功能,包括查询商品、新增商品、卖出商品和汇总信息。当用户输入-1时退出系统。


💻总代码:

# 定义商品类
class Commodity:
   def __init__(self, name, inputprice, outputprice, num, num_sold=0):
       self.name = name  # 商品名称
       self.inputprice = inputprice  # 进货价格
       self.outputprice = outputprice  # 销售价格
       self.num = num  # 库存数量
       self.num_sold = num_sold  # 已售出数量

# 定义超市类
class Supermarket:
   def __init__(self):
       self.commodities = []  # 初始化一个空的商品列表

   # 添加商品方法
   def add_commodity(self, name, inputprice, outputprice, num):
       commodity = Commodity(name, inputprice, outputprice, num)  # 创建新商品对象
       self.commodities.append(commodity)  # 将新商品添加到商品列表中

   # 列出商品方法
   def list_commodities(self):
       if not self.commodities:
           print("当前库存商品为零")
       else:
           for commodity in self.commodities:
               print(f"商品名称:{commodity.name},进货价格:{commodity.inputprice},销售价格:{commodity.outputprice},库存数量:{commodity.num}")

   # 卖出商品方法
   def sell_commodity(self, name, num_sold):
       x = 0
       for commodity in self.commodities:
           if commodity.name == name:
               if commodity.num >= num_sold:
                   x = num_sold * commodity.outputprice
                   print(f'应付款={x}')
                   while True:
                       y = int(input("请输入付款金额:"))
                       if y >= x:
                           print(f"找零={y-x}")
                           break
                       else:
                           print("付款不足!")
                   commodity.num -= num_sold  # 更新商品库存
                   commodity.num_sold = num_sold  # 更新已售出数量
                   x = 1
                   break
               else:
                   print("库存不足")
                   break
       if x == 0:
           print("商品不存在")

   # 汇总信息方法
   def summary(self):
       print("超市现有商品情况:")
       print("商品名称  进货价格  销售价格  库存数量    ")
       for commodity in self.commodities:
           print(f"{commodity.name}       {commodity.inputprice}       {commodity.outputprice}       {commodity.num}")
       input_total = sum([c.inputprice*c.num for c in self.commodities])  # 计算总进货额
       output_total = sum([a.outputprice*a.num_sold for a in self.commodities])  # 计算总销售额
       print(f"总销售额: {output_total}")
       print(f"总进货额: -{input_total}")

# 主程序
def main():
   print("************欢迎进入超市管理系统***********")
   print("1. 查询商品\n2. 新增商品\n3. 卖出商品\n4. 汇总\n-1. 退出系统")
   supermarket = Supermarket()  # 创建超市对象
   while True:
       choice = int(input("******请输入菜单编号:"))
       if choice == -1:
           print("谢谢使用")
           break
       elif choice == 1:
           supermarket.list_commodities()  # 调用列出商品方法
       elif choice == 2:
           name = input("请输入商品名称:")
           j = int(input("请输入进货价格:"))
           s = int(input("请输入销售价格"))
           n = int(input("请输入进货数量:"))
           supermarket.add_commodity(name, j, s, n)  # 调用新增商品方法
       elif choice == 3:
           name = input("请输入商品名称:")
           n = int(input("请输入销售数量:"))
           supermarket.sell_commodity(name, n)  # 调用卖出商品方法
       elif choice == 4:
           supermarket.summary()  # 调用汇总信息方法
       else:
           print("无效,请重新输入")

if __name__ == "__main__":
   main()

这段代码包括两个类(Commodity和Supermarket)和一个主程序(main)。让我来逐段分析每一部分代码。

1. Commodity类:
   - Commodity类表示商品,包括商品的名称(name)、进货价格(inputprice)、销售价格(outputprice)、库存数量(num)和已售出数量(num_sold)等属性。
   - 初始化方法(__init__)用于初始化商品对象的属性。

2. Supermarket类:
   - Supermarket类表示超市管理系统,包含一个商品列表(commodities)作为其属性,用于存储所有的商品对象。
   - 方法包括添加商品(add_commodity)、列出商品(list_commodities)、卖出商品(sell_commodity)和汇总信息(summary)等功能。

3. 主程序(main):
   - 主程序通过循环接收用户输入的操作序号,并调用相应的超市管理系统方法来实现不同的功能。
   - 当用户选择不同的操作序号时,会执行相应的功能,如列出所有库存商品、添加新商品、进行商品销售操作以及汇总现有库存商品信息。

整体而言,这段代码实现了一个简单的超市管理系统,包括了商品类和超市管理系统类,以及一个用户交互界面的主程序。

🎯turtle动态画爱心:

🎃实现代码:

import turtle  # 导入turtle库

# 设置起始位置和画笔大小
turtle.penup()
turtle.goto(-80, 250)
turtle.pensize(8)

# 写入文本"程序员的浪漫告白"
turtle.write("程序员的浪漫告白", font=(50))

# 移动到下一位置准备绘制心形图案
turtle.penup()
turtle.goto(0, 70)
turtle.pendown()

# 设置画笔颜色和填充颜色
turtle.color('red', 'pink')
turtle.begin_fill()

# 绘制心形图案
turtle.left(135)
turtle.forward(100)
turtle.right(180)
turtle.circle(50, -180)
turtle.left(90)
turtle.circle(50, -180)
turtle.right(180)
turtle.forward(100)

turtle.end_fill()  # 结束填充

turtle.hideturtle()  # 隐藏海龟图标
turtle.done()  # 完成绘图并显示

 🎃实现效果:

turtle动态画爱心

 🎯turtle动态画魔幻曲线:

🎃实现代码:

import turtle  # 导入turtle库

d = 0  # 设置角度初始值为0
k = 1  # 设置步长初始值为1

for j in range(15):  # 外层循环控制绘制的次数
    for i in range(4):  # 内层循环控制每一次绘制的步骤
        turtle.forward(k)  # 前进的距离,初始为1,逐渐增加
        d += 91  # 角度逐渐增加
        turtle.seth(d)  # 设置海龟的朝向
        k += 4  # 步长逐渐增加

turtle.done()  # 完成绘图并显示

 🎃实现效果:

用turtle动态画魔幻曲线文章来源地址https://www.toymoban.com/news/detail-753983.html

到了这里,关于【python】——超市管理系统和用turtle动态画图(爱心和魔幻曲线)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高效的工单管理系统具备哪些特点?“的修”工单系统对民宿运营管理有什么好处?

    随着企业不断发展和业务扩展,工单管理已成为企业运营的必要组成部分。一个有效且高效的工单管理系统对企业的运营至关重要。为了实现这一目标,企业需要选择适合自身需求的工单管理解决方案,并建立科学的工单管理流程。 高效的工单管理系统具备以下特点: 高自

    2024年02月08日
    浏览(52)
  • java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码

     工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理    工程项目各模块及其功能点清单 一、系统管理     1、数据字典:实现对数据字典

    2024年02月07日
    浏览(47)
  • Python的画图模块turtle使用详解

    简介:Turtle是Python语言中一个很流行的简单的绘图工具。你可以把它理解为一个小海龟,只听得懂有限的指令。它在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。 turtle绘图的

    2024年01月19日
    浏览(43)
  • Python海龟turtle基础知识大全与画图集合

    Turtle图形库 Turtle 库是 Python 内置的图形化模块,属于标准库之一,位于 Python 安装目录的 lib 文件夹下,常用函数有以下几种: 画布是turtle用于绘图区域,我们可以设置它的大小和初始位置。 1.设置画布大小 turtle.screensize(canvwidth=None, canvheight=None, bg=None) ,参数分别对应画布的

    2024年01月25日
    浏览(61)
  • Python教程44:海龟画图turtle画卡塔尔世界杯吉祥物

    ---------------turtle源码集合--------------- Python教程42:海龟画图turtle画海绵宝宝 Python教程41:海龟画图turtle画蜡笔小新 Python教程40:使用turtle画一只杰瑞 Python教程39:使用turtle画美国队长盾牌 Python教程38:使用turtle画动态粒子爱心+文字爱心 Python教程37:使用turtle画一个戴帽子的皮

    2024年01月17日
    浏览(68)
  • 【python】——turtle动态画

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月02日
    浏览(53)
  • Python画图之动态爱心

    2024年02月06日
    浏览(52)
  • Python如何随数据更新实时画图?Python实时动态绘图

    在数据分析和可视化场景中,我们常常需要实现实时动态图表,比如每分钟读取数据库新的记录,及时更新图表显示最新数据,而不是静态显示某个时间点的数据。本文将介绍使用Python matploblib库的animation功能实现实时动态绘图的方法。 问题背景 我们有一个Excel表,其中记录

    2024年02月12日
    浏览(51)
  • (附源码)Python超市管理系统 毕业设计111042

    目 录 摘要 1 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 基于Python的 超市管理系统 系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1数据增加流程 3 2.3.2数据修改流程 4 2.3.3数据删除流程 4 2.3 系统功能分析 4 2.3.1 功能性分析 4 2.3.

    2024年02月04日
    浏览(49)
  • Python超市管理系统 毕业设计-附源码111042

    目 录 摘要 1 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3系统开发技术的特色 1 1.4论文结构与章节安排 1 2 基于Python的 超市管理系统 系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1数据增加流程 3 2.3.2数据修改流程 4 2.3.3数据删除流程 4 2.3 系统功能分析 4 2.3.1 功能性分析 4 2.3.

    2024年02月11日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包