对我的计划有点帮助

时间:2013-04-01 20:08:44

标签: python

我需要这个程序的一些帮助。我已经尝试了一些但似乎没有用。当我点击运行时,没有任何反应。我认为我的循环可能有问题,但我不太确定。此外,我不知道如何增加通货膨胀。感谢任何帮助!

其他信息: 你的父母需要买一辆新车,他们正在努力 决定是否购买混合动力车。混合动力汽车 减少二氧化碳排放,提高燃油效率 与他们的非混合对应物相比。然而,混合动力 车辆也比非混合动力版车费多了很多钱。 帮助您的父母决定使用哪种类型的车辆 购买(严格按照财务成本而不考虑环境因素) 福利)。典型的家庭每年驱动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. "

2 个答案:

答案 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,您应该停止循环。