python语言实验——某年某月的天数 OJ1160

python语言实验——某年某月的天数

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic Discuss

Problem Description

输入年和月,判断该月有几天?

Input

输入年和月,格式为年\月。

Output

输出该月的天数。

Sample Input

2009\1

Sample Output

31

Hint

注意判断闰年啊

Source

 

本题的分割字符串操作我用了两种方法:

一:使用字符串切片操作

str = input()
year = int(str[0:4:]) #将前4个字符,即年份,切割下来存储到year变量中
month = int(str[5::]) #将第5个字符开始的后面字符,即月份,切割下来存储到month变量中
month_31 = [1, 3, 5, 7, 8, 10, 12] #有31天的月份
month_30 = [4, 6, 9, 11]           #有30天的月份
if year % 4 == 0 and year % 100 != 0:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(29)                  #闰年2月有29天
elif year % 400 == 0:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(29)                  #闰年2月有29天
else:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(28)                   #平年2月有28天

二:使用split()方法

str = input()
year = int(str.split('\\')[0])
month = int(str.split('\\')[1])
month_31 = [1, 3, 5, 7, 8, 10, 12]
month_30 = [4, 6, 9, 11]
if year % 4 == 0 and year % 100 != 0:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(29)
elif year % 400 == 0:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(29)
else:
    if month in month_31:
        print(31)
    elif month in month_30:
        print(30)
    else:
        print(28)

 

你可能感兴趣的:(SDUT,OJ,Python)