本年和当月的采购合计

  • 本文关键字: python python-3.x list date
  • 更新时间 :
  • 英文 :


我需要在一个列表中添加用户的购买行为,条件如下:

"当年购物满15,000元或以上的客户可享受八折优惠。如果他们在这个月也花了3000或更多,他们有额外的15%。">

列表如下:

purchases=[{"id": "123", 'price':16000, 'date': "(2022, 3, 12)"},{"id": "123", 'price':4000, 'date': "(2022, 11, 20)"}]

我不知道如何把今年和这个月的采购加起来,如果有人能帮助我:)

您可以从datetime.date.today()获取当前年份和月份(参见Python中的Datetime当前年份和月份)

import datetime
today = datetime.date.today()
# Current year: today.year
# Current month today.month

遍历purchases的每个元素。每个元素中的"date"键告诉您购买的日期。这个键的值是一个元组的字符串表示,这很烦人,但是我们可以使用ast.literal_eval来解析它。

元组的第一个元素是购买的年份。第二个元素是月份。因此,我们需要检查这些值是否与today的值匹配,并添加相应的总数:

import ast
total_month = 0
total_year = 0
for purchase in purchases:
p_date = ast.literal_eval(purchase["date"])
if p_date[0] == today.year:
total_year += purchase["price"]
if p_date[1] == today.month:
total_month += purchase["price"]

在我们看完所有的购买之后,我们可以检查我们的标准:

if total_year >= 15_000:
print("20% discount")
if total_month >= 3000:
print("Extra 15% discount")

相关内容

  • 没有找到相关文章

最新更新