如何创建一个功能,例如,如果一个人花100美元,他们是青铜,而如果他们花费100美元到200美元,他们是银?
我正在尝试学习如何使用用户定义的函数而不是循环,所以不希望使用循环建议。
由于
答案 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; )比较运营商。