我需要这个程序的一些帮助。我已经尝试了一些但似乎没有用。当我点击运行时,没有任何反应。我认为我的循环可能有问题,但我不太确定。此外,我不知道如何增加通货膨胀。感谢任何帮助!
其他信息: 你的父母需要买一辆新车,他们正在努力 决定是否购买混合动力车。混合动力汽车 减少二氧化碳排放,提高燃油效率 与他们的非混合对应物相比。然而,混合动力 车辆也比非混合动力版车费多了很多钱。 帮助您的父母决定使用哪种类型的车辆 购买(严格按照财务成本而不考虑环境因素) 福利)。典型的家庭每年驱动20,000公里,目前燃气费用为1.30美元/升。
问题:
允许用户输入混合动力车和非混合动力车的成本
这些车辆的综合燃油效率。此外,允许用户输入平均值
他们每年开车的公里数(注意:平均为20000公里/年)。然后o
输出这两辆车的成本相等所需的所有权年数
假设天然气的价格保持不变,为1.30美元/升。
显然,天然气的成本每年都会增加(这称为通货膨胀) 在您的计算中加入天然气价格每年将上涨3%的想法 (即年通胀率为3%)。
这是我到目前为止所拥有的:
i=0 # The year counter
gas=1.30
avgkm=20000
inflation=1.03
standard_cost=0
hybrid_cost=0
standard_cost=input("Enter the price of the non-hybrid car: ")
hybrid_cost=input("Enter the price of the hybrid car: ")
fueleff1=input("Enter litres/100km for the standard car: ")
fueleff2=input("Enter litres/100km for the hybrid car: ")
standardyear=avgkm/100 * fueleff1 * gas + standard_cost
hybridyear=avgkm/100 * fueleff2 * gas + hybrid_cost
while standard_cost != hybrid_cost:
i += 1 # Add a year
standard_cost += standardyear
hybrid_cost += hybridyear
if hybrid_cost==standard_cost:
break
print "It will take",i,"years. "
答案 0 :(得分:1)
我看到了几个问题:
1)只有当standard_cost完全等于hybrid_cost时,你的循环才会退出 你可能想在hybrid_cost< = standard_cost
时尝试摆脱你的循环2)行
if hybrid_cost==standard_cost:
break
while循环中的与while
中的条件语句是多余的答案 1 :(得分:0)
只有当standard_cost
完全等于hybrid_cost
时,您的循环才会停止。如果hybrid_cost <= standard_cost
,您应该停止循环。