• 交易类的python例子


    # 交易类 
    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
    ```

  • 相关阅读:
    Python--用户输入与While循环
    “混合”引擎为通用子模块提供动力,实现嵌入式I / O灵活性
    通关算法题之 ⌈二叉树⌋ 下
    016 Linux 卧槽,看懂进程信息也不难嘛?top、ps
    华为OD:敏感字段加密
    BOM Broser Object Model(浏览器对象模型)提供了独立了独立于内容与浏览器窗口进行交互的对象。
    傅里叶变换在图像处理中的应用
    正则表达式匹配符
    FST工控软件平台解读
    大数据必学Java基础(一百零二):连接池的使用
  • 原文地址:https://blog.csdn.net/keny88888/article/details/128206236