gpt4 book ai didi

python - Python 中的更新日期

转载 作者:太空宇宙 更新时间:2023-11-03 16:18:00 25 4
gpt4 key购买 nike

所以这是我的问题,我正在尝试做一个小程序,为用户提供下一个必须支付租金的日期。

这是我的代码:

curdate = datetime.date(2015, 01, 01)
rent_date = datetime.date(curdate.year, curdate.month+1, 01)

one_day = datetime.timedelta(days = 1)
one_week = datetime.timedelta(weeks = 1)
one_month = datetime.timedelta(weeks = 4)

def rent_date_calc(cd, rd):
if cd.month == 12:
rd.replace(cd.year+1, 01, 01)
else:
rd.replace(cd.year, cd.month+1, 01)

def time_pass(rd, cd, a, al):
if rd < cd:
for a in al:
a.finances -= a.rent

move_fwd = raw_input("Would you like to move forward one day(1), one week (2) or one month (3)?")
if move_fwd == "1":
curdate += one_day
elif move_fwd == "2":
curdate += one_week
else:
curdate += one_month

time_pass(rent_date, curdate, prodcomp, prodcomps)
rent_date_calc(curdate, rent_date)
print "Rent date: " + str(rent_date)

我遇到的问题是rent_date始终保持不变(2015-02-01)知道为什么吗?

最佳答案

您的代码不会改变任何内容,因为日期时间是一个不可变的对象,当您对其调用替换时,它会返回一个新的日期时间,而不是修改第一个日期时间。

您应该从函数返回新对象并将其分配rent_date:

def rent_date_calc(cd, rd):
if cd.month == 12:
return rd.replace(cd.year+1, 01, 01)
else:
return rd.replace(cd.year, cd.month+1, 01)

...

rent_date = rent_date_calc(curdate, rent_date)

关于python - Python 中的更新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38742028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com