Python实现:根据输入的作业数量动态生成对应输入项以计算围栏建造总费用
Python实现:根据输入的作业数量动态生成对应输入项以计算围栏建造总费用
嗨,刚接触Python完全不用不好意思,咱们一点点把这个程序搭起来~你的需求我get到了:先让用户输入要计算的作业总数,然后逐个输入每个作业的围栏线性英尺数,最后算出每个作业的总造价(包含材料、人工和税费)对吧?
先看你已经定义的变量,这些都没问题:
LF = 25 # 每线性英尺的材料价格
LAB = 15 # 每线性英尺的人工成本
TAX = .0825 # 税率
接下来咱们补全核心逻辑,分几步走:
- 获取作业数量:首先得让用户告诉咱们要算几个作业,注意要把输入的字符串转成整数(因为
input()默认返回字符串) - 循环处理每个作业:用循环逐个处理每一个作业,收集对应的线性英尺数
- 计算单个作业的总费用:先算税前的总成本(材料+人工),再加上税费,或者直接用税前总价乘以
(1+税率)更简洁 - 输出结果:把每个作业的费用清晰地打印出来,方便查看
下面是完整的代码,我加了注释帮你理解每一步:
# 定义基础价格变量 LF = 25 # 每线性英尺材料价格 LAB = 15 # 每线性英尺人工成本 TAX = 0.0825 # 税率 # 获取作业数量,转成整数类型 try: job_count = int(input('请输入需要计算的作业数量:')) except ValueError: print('请输入有效的数字哦!') exit() # 循环处理每个作业 for job_num in range(1, job_count + 1): print(f"\n--- 正在处理第 {job_num} 个作业 ---") try: # 获取当前作业的线性英尺数 linear_feet = int(input('请输入该作业的线性英尺数:')) # 计算税前总成本:(材料价+人工费) * 英尺数 pre_tax_total = (LF + LAB) * linear_feet # 计算总费用:税前价格 + 税费 total_cost = pre_tax_total * (1 + TAX) # 格式化输出结果,保留两位小数更贴合金额显示 print(f"第 {job_num} 个作业的总费用为:${total_cost:.2f}") except ValueError: print('输入的英尺数不是有效数字,跳过该作业') print("\n所有作业计算完成!")
我额外加了try-except块来处理用户输入非数字的情况(比如不小心输了字母),这样程序不会直接崩溃,更友好~
举个测试例子:
如果输入作业数量是2,第一个作业输入10英尺,第二个输入20英尺,输出会是:
请输入需要计算的作业数量:2 --- 正在处理第 1 个作业 --- 请输入该作业的线性英尺数:10 第 1 个作业的总费用为:$433.00 --- 正在处理第 2 个作业 --- 请输入该作业的线性英尺数:20 第 2 个作业的总费用为:$866.00 所有作业计算完成!
这样就完美实现了多作业批量计算的需求啦,有问题随时问~
备注:内容来源于stack exchange,提问作者SAAIL
相关产品推荐
相关产品推荐

