创建一个根据花费的钱输出支出水平的函数 - Python

时间:2017-11-15 21:41:42

标签: python python-3.x function defined

如何创建一个功能,例如,如果一个人花100美元,他们是青铜,而如果他们花费100美元到200美元,他们是银?

我正在尝试学习如何使用用户定义的函数而不是循环,所以不希望使用循环建议。

由于

2 个答案:

答案 0 :(得分:0)

创建一个字典,将不同的增量键映射到一个值。然后你只需要计算你的' amount_spent'最接近并从字典中选择与

对应的值
def prestige_level(amount_spent):
    levels = {0: 'bronze', 
              100: 'silver', 
              200: 'gold'}

    key = min([x for x in levels if amount_spent >= x], key=lambda x: abs(x - amount_spent))
    return levels[key]


print(prestige_level(1))
>> bronze
print(prestige_level(100))
>> silver
print(prestige_level(101))
>> silver
print(prestige_level(199))
>> silver
print(prestige_level(200))
>> gold
print(prestige_level(201))
>> gold
print(prestige_level(1000))
>> gold

答案 1 :(得分:0)

您可能希望在此处使用的是与比较运算符的If语句。

你可以像这样做一个python函数。

def findSpendingLevel(moneySpent):
  if (moneySpent <= 100):
    return 'bronze'

  if (moneySpent > 100 and moneySpent <= 200):
    return 'silver'

  if (moneySpent > 200 and moneySpent <= 300):
    return 'gold'

  if (moneySpent > 300):
    return 'diamond'

可能对您的目的有益。通过接受参数 moneySpent 变量),并将其与小于或等于的资金水平边界进行比较,注意这是如何工作的 - &lt; = )和大于&gt; )比较运营商。