python本月天数(函数)编程问题

img


想问问这个是哪儿错了,如图所示,求第几月的第几天又怎么做呢?python函数

代码改正如下:

def is_leap(year):
    # 判断year是否为闰年,闰年返回True,非闰年返回False
    if (year % 100 != 0 and year % 4 == 0) or year % 400 == 0:
        return True
    else:
        return False


def days_of_month(year,month):
    # 根据输入的年月日,返回该月的天数
    tian = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    if is_leap(year):
        tian[1] = 29
    print(tian[month-1])

str = input("输入:")
year = int(str[0:4])
month = int(str[4:6])
days_of_month(year,month)


tian[tian-1] 是什么意思?应该是

sum =0
tian = [30,28...]
for i in tian:
  if is_year(year):
    sum += 29
  else:
    sum += i

应该是
print(tian[month-1])
才对吧

tian这个列表对应的是12个月的每月的天数
tian[1]=29是对应的如果是闰年就需要修改2月的值为29天
所以最后print(tian[tian-1])这里应该是输出对应月的天数,比如1月就是tian[0],二月就是tian[1]...
print(tian[月变量-1])

这是什么网站?

img

老哥写出来了没?我抄好几个了都不对啊,发我看一下