Aug-06-2018, 01:46 PM
(This post was last modified: Aug-06-2018, 01:48 PM by lokchi2017.)
import datetime def inputYear(msg, errmsg, l, h): done = 0 while (not done): try: ans = input(msg) year = int(ans) if (year < l) or (year > h): print(errmsg) else: done = 1 return year except: print(errmsg) def inputMonth(msg, errmsg, l, h): done = 0 while (not done): try: ans = input(msg) month = int(ans) if (month < l) or (month > h): print(errmsg) else: done = 1 return month except: print(errmsg) print(errmsg) def inputDay(msg, errmsg, year, month, l, h): dh = (31,28,31,30,31,30,31,31,30,31,30,31) h = dh[month - 1] if (year % 4 == 0) and (month == 2): h = 29 done = 0 while (not done): try: ans = input(msg) day = int(ans) if (day < l) or (day > h): print(errmsg) else: done = 1 return day except: print(errmsg) def Lesson1(): import datetime day = '2018-8-6' d = datetime.datetime.strptime(day, '%Y-%m-%d') wd = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') print('%s is a %s' % (day, wd[d.weekday()])) def checkWeekday(): import datetime year = inputYear('Please input year(1-9999)', 'Please input a valid year', 1, 9999) month = inputMonth('Please input month(1-12)', 'Please input a valid month', 1, 12) day = inputDay('Please input day(1-31)', 'Please input a valid day', year, month, 1, 31) d = datetime.datetime.strptime(int(year)-int(month)-int(day), '%Y-%m-%d') wd = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') print('%s is a %s' % (day, wd[d.weekday()])) checkWeekday() year = inputYear('Please input year(1-9999)', 'Please input a valid year', 1, 9999) print(year) month = inputMonth('Please input month(1-12)', 'Please input a valid month', 1, 12) print(month) day = inputDay('Please input day(1-31)', 'Please input a valid day', year, month, 1, 31) print(day)
Error:Traceback (most recent call last):
File "C:\Users\LokChi\Desktop\Untitled Project.py", line 65, in <module>
checkWeekday()
File "C:\Users\LokChi\Desktop\Untitled Project.py", line 61, in checkWeekday
d = datetime.datetime.strptime(int(year)-int(month)-int(day), '%Y-%m-%d')
TypeError: strptime() argument 1 must be str, not int
any idea on solving this?