迭代与循环

问题描述:

我已经得到的地步,我可以计算总的伙食费给定范围小费百分比:迭代与循环

def total_cost(price,tax,tip): 

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

for tip in range(15,30,5): 

    cost = total_cost(20, 0.1350, tip/100.) 
    print(cost) 

从下面的问题混合多个变量的时候我很为难:

下面您会看到一本包含不同州税率的词典,用百分比表示。在所有州进行迭代并打印一份膳食的价值,其中税前食品价格为20美元;显示价格的15%,20%和25%的小费百分比。”

tax = { 
    "Alabama": 13.50, 

    "Alaska": 7, 

    "Arizona": 10.73, 

    "Arkansas": 11.63, 

    "California": 10, 

    "Colorado": 10, 

    "Connecticut": 6.35, 

    "Delaware": 0, 

    "District of Columbia": 5.75, 

    "Florida": 7.50, 

    "Georgia": 8, 

    "Hawaii": 4.50, 

    "Idaho": 8.50, 

    "Illinois": 9.75, 

    "Indiana": 7, 

    "Iowa": 7, 

    "Kansas": 9.65, 

    "Kentucky": 6, 

    "Louisiana": 11, 

    "Maine": 5.50, 

    "Maryland": 6, 

    "Massachusetts": 6.25, 

    "Michigan": 6, 

    "Minnesota": 7.88, 

    "Mississippi": 7.25, 

    "Missouri": 9.35, 

    "Montana": 0, 

    "Nebraska": 7.50, 

    "Nevada": 8.10, 

    "New Hampshire": 0, 

    "New Jersey": 7, 

    "New Mexico": 8.69, 

    "New York": 8.88, 

    "North Carolina": 7.50, 

    "North Dakota": 8, 

    "Ohio": 8, 

    "Oklahoma": 11, 

    "Oregon": 0, 

    "Pennsylvania": 8, 

    "Rhode Island": 7, 

    "South Carolina": 9, 

    "South Dakota": 6, 

    "Tennessee": 9.75, 

    "Texas": 8.25, 

    "Utah": 8.35, 

    "Vermont": 7, 

    "Virginia": 6, 

    "Washington": 9.60, 

    "West Virginia": 7, 

    "Wisconsin": 5.60, 

    "Wyoming": 6, 
} 

我认为这是更好,如果你自己解决这个问题,你会学到更多的从它。

一个提示我可以给你的是这个代码你给它迭代字典中的每个关键,在此状态下打印税。

for name_of_key in tax: 
    print("Tax in state %s: %f" % (name_of_key, tax[name_of_key])) 
+0

我知道如何打印与加入的话语句,例如“税在阿拉斯加州:7.0“,但我不知道如何取得每个税率并插入我的功能? –

+0

使用total_cost(价格,税金,小费)功能。 I.e. total_cost(20.0,税[name_of_key],15.0) – rmeertens

+0

这就是我的想法,但我在哪里包括它? –