Форум сайта python.su
Я новичок….. задание сложное для меня…
Используя функцию високосный год, и ваши знания по количеству дней в каждом месяце,
написать функцию, которая принимает год и один день числа и возвращает строку, представляющую
месяц и дату. Например, вход 2006 237 вернется Пятница, 25 августа 2006.
вот что написано… а дальше не знаю в какую сторону думать…
def leapYear (year):
#year = int(input("What is the year?"))
if year % 400 == 0:
year = True
elif year % 100 == 0:
year = False
elif year % 4 == 0:
year = True
else:
year = False
return year
def dayToDate ():
yearUser = int(input( 'Type the year: ')
dayUser = int(input( 'Type the number of day: ')
dayCheck = 0
if leapYear (yearUser) = True:
leapYear = range (0,365)
elif leapYear (yearUser) = False:
leapYear = range (0,366)
while dayCheck != dayUser:
x = leapYear
Отредактировано Dory (Март 8, 2013 00:31:30)
Офлайн
def leapYear (year): #year = int(input("What is the year?")) if year % 400 == 0: year = True elif year % 100 == 0: year = False elif year % 4 == 0: year = True else: year = False return year
return year % 4 #Високосный каждый четвертый делиться без остатка
Офлайн
Вся сложность с определением дня недели. Вот пример как без него
def date(year, days): f = bool(year % 4) L = [('jan', 31), ('feb', 29-f), ('mar', 31), ('apr', 30), ('may', 31), ('jun', 30), ('jul', 31), ('aug', 31), ('sep', 30), ('oct', 31), ('nov', 30), ('dec', 31)] for m, d in L: if d >= days: return (year, m, days) days -= d print(date(2006, 237))
Офлайн
dimy44
Ogo…. rabotaet… Thanks…
kak rabotaet bool?..
Офлайн
bool(obj) не знаю как в тройке, я со смарта и у меня питон старый, у меня он возвращает 1 либо 0 в зависимости от того, является ли obj правдой либо ложью. В даном случае, все кроме нуля правда.
Офлайн
mironichДо сих пор по Юлианскому календарю живете? ;)
Достаточно:
return year % 4 #Високосный каждый четвертый делиться без остатка
Офлайн