编程语言
首页 > 编程语言> > 自动化物料,能量,经济等的核算程序

自动化物料,能量,经济等的核算程序

作者:互联网

自动化物料,能量,经济等的核算程序

简介

这个程序是基于python自动化开发,要熟练掌握python的基础,自动化开发只是和python的高级知识。它集成了在我的毕业设计中基本上的用到所有的公式,可以将复杂的工作进行一个汇总,将python自动化更好的融入我们的日常生活中,来大大的提高我们的工作效率。

优点

大大的提高我们的工作效率,使我们的日常更加的自动化,代码简单,可拓展性强

代码

evaluation.py(物料的传入和计算模块)

import material
import money
import revenue

# 函数的调用斯
# 计算的实现
total_production = 100000  # 想要生产的总质量(kg)
step_play = ['包装的日需量', '总混的日需量', '整粒的日需量', '干燥的日需量', '粉碎筛分的日需量']  # 生产所需要进行的步奏
last_step = 442  # 传入最后一步的量(kg)
raw_material_list = ['碳酸钠', '柠檬酸', '蜂蜜粉', '速溶红茶粉', '阿斯巴甜味剂', 'PEG6000']  # 传入生产所需要的原料
materials_list = [0.25, 0.37, 0.20, 0.02, 0.05, 0.11]  # 传入生产所需原料的占比
total_amount = 100000000  # 传入生产的总质量(g)
area = 1000  # 传入总占地面积
area_price = 2500  # 传入的是这个地区的价格
install_price = 25000  # 传入的是一次的安装费
install_number = 2  # 传入每年安装的次数
water = 50  # 传入总用水量
electric = 15000  # 传入总的用电量
price_list = [3, 20, 90, 90, 119, 440]  # 传入每个原料的每千克所用的钱数单位是元
weight_list = [27625.0, 40885.0, 22100.0, 2210.0, 5525.0, 12155.0]  # 传入所消耗的原料(kg)
employee_salary = 5000  # 传入员工的工资
employee_number = 20  # 传入员工的数量
overhaul_times = 4  # 传入检修的次数
overhaul_money = 10000  # 传入每次检修的价格(元)
every_bag_price = 15  # 传入每袋卖出去的价格
sales_volume = 74250000  # 传入买完所赚到的钱(元)
loan = 30000000  # 传入贷款的钱数(元)

with open('material_output.txt', mode='w', encoding='utf-8') as f:
    f.write('*********物料计算***********')
    f.write('\n')
    f.write('*********歩奏的计算***********')
    f.write('\n')
    f.write(str(material.day_product(total_production, step_play, 2)))
    f.write('\n')
    f.write('*********原料的计算***********')
    f.write('\n')
    f.write(str(material.material_calculation(raw_material_list, materials_list, last_step)))
    f.write('\n')
    f.write('*********包装消耗的计算***********')
    f.write('\n')
    f.write(str(material.product_pack(total_amount, every_bag_price)))
    f.write('\n')
    f.write('*********经济计算***********')
    f.write('\n')
    f.write('*********占地面积的计算***********')
    f.write('\n')
    f.write(str(money.area_money(area, area_price)))
    f.write('\n')
    f.write('*********安装费的计算***********')
    f.write('\n')
    f.write(str(money.install_money(install_number, install_price)))
    f.write('\n')
    f.write('*********水费和电费的计算***********')
    f.write('\n')
    f.write(str(money.other_money(water, electric)))
    f.write('\n')
    f.write('*********流动资金的计算***********')
    f.write('\n')
    f.write(str(money.flow_money(raw_material_list, price_list, weight_list)))
    f.write('\n')
    f.write('*********人员财务计算***********')
    f.write('\n')
    f.write(str(money.people_money(employee_number, employee_salary)))
    f.write('\n')
    f.write('*********检修计算***********')
    f.write('\n')
    f.write(str(money.overhaul_money(overhaul_times, overhaul_money)))
    f.write('\n')
    f.write('*********税率的计算***********')
    f.write('\n')
    f.write('*********增值税的计算***********')
    f.write('\n')
    f.write(str(revenue.value_added_tax(sales_volume, 0.17)))
    f.write('\n')
    f.write('*********消费税的计算***********')
    f.write('\n')
    f.write(str(revenue.excise_tax(sales_volume, 0.03)))
    f.write('\n')
    f.write('*********贷款的计算***********')
    f.write('\n')
    f.write(str(revenue.interest_construction(loan)))

f.close()

material.py(原料计算的底层代码)

用于化工毕业设计的计算,制作等等代码
# 计算过程
# 各个过程的损耗率为1%

def day_product(total_amount, step_list, places):
    """
    每日生产函数
    各个过程的损耗率为1%
    该功能暂时支持五个歩奏
     以每年250天为基准计算日需求量
    :param total_amount: 传入一个年产量(kg)
    :param step_list: 传入一个歩奏列表如干燥日需量注
    :param places:传入保留的位数
    :return:一个关于歩奏的每日所需资源的字典如{干燥日需量:400}和每年原辅料的总需求量
    """
    try:
        if places > 0:
            places = int(places)
            day_amount_need = total_amount / 250
            need_dict = {}
            amount_list = []
            # print('日需求量:%s' % day_amount_need)
            for i in range(3):
                day_amount_need = day_amount_need / 0.99
                amount_list.append(round(day_amount_need, places))
            # print(amount_list)
            a = amount_list[2] / 0.99
            all_zao = a / (0.95 / 0.99)
            all_shi = all_zao / 0.99
            all_fen = all_shi / 0.99
            all_year = all_fen * 250
            need_dict.setdefault(step_list[0], round(day_amount_need, places))  # 内包装日需求量
            need_dict.setdefault(step_list[1], round(amount_list[1], places))  # 总混日需求量
            need_dict.setdefault(step_list[2], round(amount_list[2], places))  # 整粒日需求量
            need_dict.setdefault(step_list[3], round(all_shi, places))  # 干燥日需求量
            need_dict.setdefault(step_list[3], round(all_zao, places))  # 湿法制粒日需求量
            need_dict.setdefault(step_list[4], round(all_fen, places))  # 粉碎筛分时的日需求量'
            return need_dict, '每年原辅料的总需求量:%s' % round(all_year, places), '粉碎日需量:%d' % all_fen
        else:
            print('*********输入的数字要是正整数***********')
    except Exception:
        print('***********有错误请重新输入!*************')


# 每日需要的量的计算
def material_calculation(material_list, mixture_ratio_list, smash_day):
    """
    如:碳酸氢钠25%:柠檬酸37%:蜂蜜粉20%:速溶红茶粉2%:阿斯巴甜味剂5%;PEG6000 11%
    :param material_list: 所需的原料的列表
    :param mixture_ratio_list: 所需原料的配比列表
    :param smash_day: 传入筛分的日需量
    :return: 每年消耗的量和每日所消耗的原料的量
    """
    material_calculation_list_day = []
    material_calculation_dict_day = {}
    material_calculation_list_year = []
    material_calculation_dict_year = {}
    if len(material_list) == len(mixture_ratio_list):
        try:

            for a in mixture_ratio_list:
                quantity_material_day = a * smash_day
                quantity_material_year = quantity_material_day * 250
                material_calculation_list_day.append(quantity_material_day)
                material_calculation_list_year.append(quantity_material_year)

            for i in range(len(material_list)):
                material_calculation_dict_day.setdefault(material_list[i], material_calculation_list_day[i])
                material_calculation_dict_year.setdefault(material_list[i], material_calculation_list_year[i])
        except Exception:
            print('*******smash输入的不是数字**********')
    else:
        print('*****原料的数量和配比要相对应********')

    return '每天的消耗的为:{}'.format(material_calculation_dict_day), '每年的各个原料消耗的为:{}'.format(material_calculation_dict_year)


# # 包装消耗
def product_pack(total_amount, price):
    """
    包装消耗的计算
    :param total_amount: 输入总的质量(注意使用的单位是g)
    :return: 各个阶段的值
    """
    if total_amount > 0:
        all_dai = (total_amount / 20) * 0.99
        all_he = all_dai / 20
        all_box = all_he / 12
        everyday_box = all_box / 250
        all_money = price * all_dai
        return '总的袋数:{}'.format(round(all_dai, 3)), \
               '总的包装数:{}'.format(round(all_box, 2)), \
               '总的盒数:{}'.format(round(all_he, 2)), \
               '每天生产的箱数%s' % round(everyday_box, 2), '总的销售的钱数:%s元' % all_money
    else:
        print('***********总量要大于零***********')

money.py(一些关于钱的计算的底层代码)

def area_money(area, price):
    """
    占地面积计算
    :param area: 地区的面积平方米
    :param price: 价格元每米
    :return:钱数
    """
    if area > 0 and price > 0:
        money = area * price
        return '占地所用的钱:%d元' % money
    else:
        print('*********输入错误请重新输入!**********')


def install_money(install, number):
    """
    :param install: 建筑安装费
    :param number: 数量
    :return:钱数
    """
    if install > 0 and number > 0:
        number = int(number)
        money = install * number
        return '总的安装费:%d元' % money
    else:
        print('*********输入错误请重新输入!**********')


def other_money(water, electric):
    """

    :param water: 用的电量
    :param electric:用的水量单位是吨
    :return:总价格单位元
    单价约为12元/升,其他生活用水量约为1000吨,
    兰州市工商业用水为4.10元/立方米,1吨=1立方米单价约为12元/升,其他生活用水量约为1000吨,
    兰州市工商业用水为4.10元/立方米,1吨=1立方米
    兰州市工业用电电价电费为0.5元/kw∙h,基本电价20元/kVA

    """
    if water > 0 and electric > 0:
        water_price = water * 1000 + 1000 * 4.1
        electric_price = electric * 0.5 + 130 * 20 * 12
        other_price = 200000
        all_price = water_price + electric_price + other_price

        return '所用的水费:%d元' % water_price, '所用的电费:%d元' % electric_price, '所用的总的费用:%d元' % all_price
    else:
        print('*********输入错误请重新输入!**********')


def flow_money(material_list, price_list, weight_list):
    """
    计算流动资金
    :param material_list: ,传入一个物料为valued单价格为key的字典
    :param price_list:每个物料单价
    :param weight_list: 重量kg
    :return: 价格总字典
    """
    if len(material_list) and len(price_list) == len(weight_list):
        all_material_dict = {}
        for i in range(len(material_list)):
            new_price = price_list[i] * weight_list[i]
            all_material_dict.setdefault(material_list[i], new_price)

        return '原料和其各自的钱为:{}'.format(all_material_dict), '总的钱数:{}'.format(sum(all_material_dict.values()))
    else:
        print('**********每个列表的长度要相同!***********')


def people_money(number, wages):
    """
    人的消耗的钱
    :param number: 员工人数
    :param wages: 工资
    :return: 总支出
    """
    if number > 0 and wages > 0:
        number = int(number)
        money = number * wages
        return '员工的总支出:%d元' % money
    else:
        print('*********输入错误请重新输入!**********')


def overhaul_money(time, money):
    """
    检修的钱数
    :param time: 每年检修的次数
    :param money: 每次检修的钱
    :return: 全部需要的钱
    """
    if time > 0 and money > 0:
        time = int(time)
        return '检修的费用:%d元' % (time * money)
    else:
        print('*********输入错误请重新输入!**********')

revennu.py(关于利率计算的底层代码)

def value_added_tax(money, rate):
    """
    增值税计算
    增值税:含税价格=不含税价格+增值税,医药行业增值税税率为0.17
    :param money:营业额(元)
    :param rate:利率
    :return:
    """
    if money > 0 and 0 < rate < 1:
        value_added = money / (1 + rate)
        return '增值税的钱:%d元' % (money - value_added)
    else:
        print('*********输入错误请重新输入!************')


def excise_tax(sales, rate):
    """
    消费税计算
    :param sales:消费额
    :return:税后的消费额
    """
    if sales > 0 and 0 < rate < 1:
        return '消费税的钱:%d元' % (sales * rate)
    else:
        print('*********输入错误请重新输入!************')


def interest_construction(loan):
    """
    建设期利息Qi=(Pj-1+1/2Ai) ×i(利率),贷款1年利率为3.75%。
    贷款20000000元,建设期为1年
    :param loan:贷款钱数
    :return:价格
    """
    all_money = 0.5 * loan * 0.0375
    return '还贷款:%d元' % all_money

运行效果

*********物料计算***********
*********歩奏的计算***********
({'包装的日需量': 412.24, '总混的日需量': 408.12, '整粒的日需量': 412.24, '干燥的日需量': 438.32, '粉碎筛分的日需量': 442.75}, '每年原辅料的总需求量:110686.88', '粉碎日需量:442')
*********原料的计算***********
("每天的消耗的为:{'碳酸钠': 110.5, '柠檬酸': 163.54, '蜂蜜粉': 88.4, '速溶红茶粉': 8.84, '阿斯巴甜味剂': 22.1, 'PEG6000': 48.62}", "每年的各个原料消耗的为:{'碳酸钠': 27625.0, '柠檬酸': 40885.0, '蜂蜜粉': 22100.0, '速溶红茶粉': 2210.0, '阿斯巴甜味剂': 5525.0, 'PEG6000': 12155.0}")
*********包装消耗的计算***********
('总的袋数:4950000.0', '总的包装数:20625.0', '总的盒数:247500.0', '每天生产的箱数82.5', '总的销售的钱数:74250000.0元')
*********经济计算***********
*********占地面积的计算***********
占地所用的钱:2500000元
*********安装费的计算***********
总的安装费:50000元
*********水费和电费的计算***********
('所用的水费:54100元', '所用的电费:38700元', '所用的总的费用:292800元')
*********流动资金的计算***********
("原料和其各自的钱为:{'碳酸钠': 82875.0, '柠檬酸': 817700.0, '蜂蜜粉': 1989000.0, '速溶红茶粉': 198900.0, '阿斯巴甜味剂': 657475.0, 'PEG6000': 5348200.0}", '总的钱数:9094150.0')
*********人员财务计算***********
员工的总支出:100000元
*********检修计算***********
检修的费用:40000元
*********税率的计算***********
*********增值税的计算***********
增值税的钱:10788461元
*********消费税的计算***********
消费税的钱:2227500元
*********贷款的计算***********
还贷款:562500元

标签:物料,return,money,price,material,list,write,自动化,核算
来源: https://www.cnblogs.com/xiaowenxu/p/16028439.html