0
我正在写一个python任务,我们正在写一个酒店客户的房间预订。 我们应该比较抵达和离开的日期。如果出发日期早于到达日期,它将打印错误消息,但是在我运行后我仍然收到错误消息。我不知道为什么....我试图做的客户信息,这些信息python-比较日期
预订= namedtuple(“预订”,'确认room_number arrive_date depart_date名)
,所以我拿了的namedtuple arri_date out(10/13/2008),因为它是一个字符串,所以我把它分开。我试图把所有的数字作为一个整数。之后......我使用日期时间.......是啊.....好像我在这里做错了什么。基数为10
()无效的字面INT这是我的计划:我不明白错误的意思
elif lst[0]=='LR':
for r in new_reservation_list:
for d in r.arrive_date:
lsst=d.split()
month1=lsst[:2]
months=int(''.join([str(x) for x in month1]))
date1=lsst[3:5]
dates=int(''.join(([str(x) for x in date1])))
year1=lsst[7:]
years=int(''.join(([str(x) for x in year1])))
arrive_date1=datetime.date(int(months),int(dates),int(years))
for e in r.depart_date:
lstt=e.split()
month2=lsst[:2]
months2=int(''.join([str(x) for x in month2]))
date2=lsst[3:5]
dates2=int(''.join(([str(x) for x in date2])))
year2=lsst[7:]
years2=int(''.join(([str(x) for x in year2])))
depart_date1=datetime.date(int(months2),int(dates2),int(years2))
if arrive_date>depart_date==True:
print('Sorry, can''t reserve room', r.room_number,' (',r.arrive_date,' to ',r.depart_date,'); can''t leave before you arrive.')
elif lst[1] in new_reservation_list:
print('Sorry, can''t reserve room ',r.room_number, ' (',r.arrive_date,' to ',r.depart_date,'); it''s already booked (Conf. #',r.confirmation_number)
else:
print('Reserving room',r.room_number,'for',r.name,'-- Confirmation #',r.confirmation_number,'\n ','arriving',r.arrive_date,', departing ',r.depart_date)
print('{:5}{:8}{:16}{:15}{:25}'.format('No.','Rm.','Arrive','Depart','Guest'))
print('{:5}{:4}{:12}{:12}{:17}'.format(r.confirmation_number,r.room_number,r.arrive_date,r.depart_date, r.name))
以这种方式解析日期并不可取,请尝试使用正则表达式,错误发生在将字符串强制为int的情况下。 – 2013-03-14 07:19:37