尝试制作一个显示一个月中的天数的程序

2024-06-28 19:14:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个程序,当你输入一个月对应的数字时,显示一个月的天数。 例1=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")

Tags: 程序inputrawdefrange数字aprmar
3条回答

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

$Year  = 2017
$month = 08`

echo cal_days_in_month(CAL_GREGORIAN, (int)$month, $Year);

代码不起作用的原因是,您将输入赋值给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

你可以试着用字典把月映射到天或者别的什么,但是一个更明智的解决方案是如下。。。你知道吗

由于2月份的闰年天数不同,因此使用calendar.monthrange来获取任何给定年份的月份天数更有意义:

from calendar import monthrange

year = 2017

a = int(raw_input())

num_days = monthrange(year, a)[1]

print("{} days".format(num_days))

谢谢你们的帮助。 我们班现在有了答案。想要什么:

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

相关问题 更多 >