交易类的python例子
创始人
2024-03-23 06:49:20

# 交易类 
class Trade:

    # 默认构造函数
    def __init__(self,date, brand,model,num,costprice,sellingprice,remark): 
        self.date=date
        self.brand=brand
        self.model=model
        self.num=num
        self.costprice=costprice
        self.sellingprice=sellingprice
        self.remark=remark

    # 打印函数
    def printTrade(self):
        print("日期:%s , 品牌:%s, 型号:%s, 数量:%s, 成本价:%.2f, 销售价:%.2f, 备注:%s" 
              % (self.date,self.brand,self.model,self.num,self.costprice,self.sellingprice,self.remark))


# 仓库类,存储交易信息
class StoreHouse:
    
    max_size=100
    # 构造函数 
    def __init__(self): 
        self.trades=[None]*StoreHouse.max_size
        self.pos=-1
    
    # 入库函数 
    def intoStoreHouse(self,trade): 
        # 如果仓库满了报错
        if len(self.trades)-1 == StoreHouse.max_size: 
            return "storehouse is full"
        self.pos+=1
        self.trades[self.pos]=trade

    # 打印函数 
    def printStoreHouse(self):
        for i in range(self.pos+1):
            self.trades[i].printTrade()


# 管理类,把库存信息成本和总收入及利润计算出来
class Manager: 

    # 构造函数
    def __init__(self):
        self.cost=0
        self.income=0
        self.profit=0

    # 入口设为仓库类
    def getCostAndIncome(self,storeHouse):
        for i in range(storeHouse.pos+1):
            self.cost+=(storeHouse.trades[i].num)*(storeHouse.trades[i].costprice)
            self.income+=(storeHouse.trades[i].num)*(storeHouse.trades[i].sellingprice)
            self.profit=self.income-self.cost

    # 打印显示
    def printManger(self):
        print("总成本:%.2f 元, 总收入:%.2f 元, 净利润:%.2f 元"
              % (self.cost,self.income,self.profit))

# 测试
if __name__ == "__main__":
    storeHouse=StoreHouse()
    # 增加交易
    storeHouse.intoStoreHouse(Trade("2020-1-1", "苹果", "iPhone11", 3, 4500.00, 5700.00, "新品"))
    storeHouse.intoStoreHouse(Trade("2020-2-2", "华为", "Mate30", 2, 4000.00, 5300.00, "新品"))
    storeHouse.intoStoreHouse(Trade("2020-3-3", "三星", "S20", 4, 5200.00, 6200.00, "新品"))

    # 打印交易
    storeHouse.printStoreHouse()
    manager=Manager()
    manager.getCostAndIncome()

## BDD开发原理
### 1. 定义功能:
BDD是一种测试框架,其原理是使用描述性文件定义其性能,使用自然语言来描绘功能及其行为。

### 2. 编写BDD测试脚本:
BDD的例子:

```
@login 
Feature: Login 
Scenario: 在登录页面输入有效用户名和密码,可登录成功
Given 用户访问登录页
When 用户输入有效的用户名和密码
Then 登录成功
```

## Allure Report

### 1. 安装
为了使用Allure,首先需要在工程中安装Allure。

### 2. 生成报表
在运行完`BDD`脚本之后,生成`Allure`报表:
```
pytest --alluredir reports
```

### 3. 渲染报表
最后,使用Allure命令渲染报表:
```
allure serve reports
```

相关内容

热门资讯

告别语言壁垒!BLINBLIN... 当你还在为跨国会议上的语言障碍焦头烂额,为出国旅行时的沟通不畅手足无措,为外语学习时的发音不准苦恼不...
金观平:因地制宜推进节能降碳 近期召开的国务院常务会议对节能降碳工作作出重要部署,明确提出要更高水平更高质量做好节能降碳工作,加大...
2025回顾 | 2025年青... 2025年青岛改扩建高速公路近260公里建设规模创历史之最;1个重点项目建成通车,2个重点项目计划2...
委内瑞拉国民警卫队称已在全国范... 转自:北京日报客户端当地时间6日,委内瑞拉国民警卫队称,已在全国范围内部署兵力,同时,国家警察局也在...
刘旭:电力危机折射美国深层治理... 前段时间,在旧金山一场人工智能(AI)会议上,全美最大公用事业公司之一爱克斯龙的首席执行官巴特勒将美...