0

我正在尝试编写一个程序,当您键入与月份对应的数字时,它会显示一个月中的天数。前任。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")
4

3 回答 3

1

使用静态数字不会帮助您获得正确的结果。因为闰年的二月天与平常不同。所以用

$Year  = 2017
$month = 08`

echo cal_days_in_month(CAL_GREGORIAN, (int)$month, $Year);
于 2017-10-26T12:15:13.050 回答
0

您的代码不起作用的原因是因为您将输入分配给a但您从不检查的值a并使用它来确定应该打印的内容(您只是将整数分配给名为 的变量janfeb

你正在寻找这样的东西:

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))
于 2017-10-26T12:48:45.417 回答
0

谢谢你们所有的帮助。我的班级现在对我们正在做的事情有了答案。想要什么:

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
于 2017-10-27T12:09:56.930 回答