ここに私の問題があります。私は彼に家賃を支払わなければならない次の日をユーザーに与える小さなプログラムをしようとしています。ここでPythonで日付を更新
私のコードです:
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年2月1日)同じままということです 任意のアイデアなぜですか?
['date.replace'](https://docs.python.org/2/library/datetime.html#datetime.date.replace)は新しい日付を返します。あなたは 'rd.replace'を呼び出していますが、結果をキャプチャしていません。おそらく 'rent_date_calc'から新しい日付を返してそれを印刷する必要があります。 – khelwood