Попытка сделать программу, которая отображает дни в месяце

Я пытаюсь написать программу, которая показывает дни месяца, когда вы набираете число, соответствующее месяцу. 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))
Другие вопросы по тегам