自动化物料,能量,经济等的核算程序
作者:互联网
自动化物料,能量,经济等的核算程序
简介
这个程序是基于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