招标服务费计算小程序(2020-12-11)重写主函数加入循环

初学者编写的小程序,旨在计算招标服务费。近期对主函数进行了重写,引入循环以提升效率,期待专业人士提供改进意见。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

a=[1000000, 5000000, 10000000, 50000000, 100000000, 500000000]
b1=[0.015,0.011,0.0080,0.0050,0.0025,0.0005]#物资
b2=[0.015,0.008,0.0045,0.0025,0.0010,0.0005]#服务
b3=[0.010,0.007,0.0055,0.0035,0.0020,0.0005]#工程
b4=[0]
b = [b1,b2,b3,b4]
type_in_list = ['物资','服务','工程','错误']

def determine_type(type_in):	
	if type_in == 1:
		cv = b[0]
		type_item = type_in_list[0]
	elif type_in == 2:
		cv = b[1]
		type_item = type_in_list[1]
	elif type_in == 3:
		cv = b[2]
		type_item = type_in_list[2]
	
	def cal_service(money):
		if money>0 and money <=a[0]:
			result = money*cv[0]
		elif money>a[0] and money <=a[1]:
			result = a[0]*cv[0] + (money - a[0])*cv[1]
		elif money>a[1] and money <=a[2]:
			result = a[0]*cv[0] + (a[1]-a[0])*cv[1] + (money - a[1])*cv[2]
		elif money>a[2] and money <=a[3]:
			result = a[0]*cv[0] + (a[1]-a[0])*cv[1] + (a[2]-a[1])*cv[2] + (money-a[2])*cv[3]
		elif money>a[3] and money <=a[4]:
			result = a[0]*cv[0] + (a[1]-a[0])*cv[1] + (a[2]-a[1])*cv[2] + (a[3]-a[2])*cv[3] + (money-a[3])*cv[4]
		elif money>a[4] and money <=a[5]:
			result = a[0]*cv[0] + (a[1]-a[0])*cv[1] + (a[2]-a[1])*cv[2] + (a[3]-a[2])*cv[3] + (a[4]-a[3])*cv[4] + (money-a[4])*cv[5]
		print('该项目为"%s类"招标项目,计算基数为"%d元",差额累进计算招标代理服务费为"%s元"'%(type_item,money,result))	
	return cal_service
	
def main():
	while True:
		type_in = int(input('输入项目类型(1-物资,2-服务,3-工程):'))
		if type_in not in [1,2,3]:
			print('拜拜!~~~')
			break
		else:
			money = int(input('输入计算基数:'))
			determine_type(type_in)(money)
			
if __name__ == '__main__':
	main()

初学小白,因为工作原因写了这个小代码,觉得计算公式那里肯定还有更好的表示方法,还请各位赐教,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值