使用for循环根据尖端百分比范围计算膳食价格

时间:2017-05-08 21:47:56

标签: python loops

我来回走动,搞砸了这段代码。我有一个计算总餐价的公式。

def total_cost(price,tax,tip):

    bill = price+(price*tax)+((price+(price*tax))*tip)
    return bill

new_bill = total_cost(15,.08875,.18)

print(new_bill)

从那里开始,我如何编写一个for循环计算一顿饭的总价格,从不同的小费率开始,从15%开始到25%(包括两者),以1%的增量结束?

3 个答案:

答案 0 :(得分:2)

你只需要循环百分比:

for tip in range(15, 26, 1):  # the end point is exclusive with "range"
    cost = total_cost(15, 0.08875, tip/100.)  # in python3 you could use tip/100
    print(cost)

答案 1 :(得分:1)

超级简化,但这将是第一次通过:

tips = list(range(15, 26))

for tip in tips:
    print("For " + str(tip) + "% the total cost is $" + str(total_cost(price, tax, tip/100))

或者for循环可能是:

for tip in range(15, 26, 1):

...以节省一点点内存。

答案 2 :(得分:1)

一线解决方案:

print list(total_cost(15, 0.08875, tip / 100.) for tip in range(15, 26))

最外侧括号中的部分是生成器 - 它本身不执行任何操作,因为它只是算法

函数list()强制它起作用。