Попытка сделать программу, которая отображает дни в месяце
Я пытаюсь написать программу, которая показывает дни месяца, когда вы набираете число, соответствующее месяцу. Ex. 1 = январь, напечатал бы "31". Это то, что у меня есть, и это кажется мне логичным. Хотя я чуть больше месяца в этом разбираюсь и понятия не имею, что делаю.
def calcDaysInMonth():
(list,(range,(1, 12)))
a = raw_input()
int(a)
jan = 1
feb = 2
mar = 3
apr = 4
may = 5
june = 6
july = 7
aug = 8
sept = 9
octo = 10
nov = 11
dec = 12
if jan is True:
print("31")
3 ответа
Спасибо за вашу помощь, ребята. У моего класса теперь есть ответ на то, что мы делали. Что было в розыске:
month = int(raw_input())
day = 0
def calcDays(month):
if month ==1:
days = 31
print 31
if month==2:
days = 28
print 28
if month == 3:
days = 31
print 31
if month == 4:
days = 30
print 30
if month==5:
days = 31
print 31
if month ==6:
days = 30
print 30
if month==7:
days = 31
print 31
if month ==8:
days = 31
print 31
if month==9:
days = 30
print 30
Использование статического номера не поможет вам получить правильный результат. потому что февральские дни в високосном году отличаются от обычных. так что пользуйтесь
$Year = 2017
$month = 08`
echo cal_days_in_month(CAL_GREGORIAN, (int)$month, $Year);
Причина, по которой ваш код не работает, заключается в том, что вы назначаете вход a
но вы никогда не проверяете ценность a
и используя это, чтобы определить, что должно быть напечатано (вы просто назначаете целые числа для переменных, называемых jan
, feb
так далее)
Вы ищете что-то вроде этого:
a = int(raw_input())
if a == 1:
print("31 days")
elif a == 2:
print("28 days")
# just repeat with elif until december/12
Вы можете попытаться разобраться в этом с помощью словарей, чтобы отобразить месяцы в дни или что-то в этом роде, но на самом деле более разумным решением будет следующее...
В связи с тем, что в феврале високосные годы имеют разное количество дней, имеет смысл просто использовать calendar.monthrange
чтобы узнать количество дней в месяце за любой данный год:
from calendar import monthrange
year = 2017
a = int(raw_input())
num_days = monthrange(year, a)[1]
print("{} days".format(num_days))