Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
闰年python脚本_Python_Python 3.x_List - Fatal编程技术网

闰年python脚本

闰年python脚本,python,python-3.x,list,Python,Python 3.x,List,我正在尝试编写一个代码,它将接受一年中的任何月份,并输出输入的月份以及该月份的天数列表。但是如果输入了二月,它应该询问出生年份,并检查这是否是闰年,然后输出二月加上二月的天数。 我哪里出错了 month = input("Enter any month of the year: ") for n in month: if (n == "January" or n == "March" or n == &q

我正在尝试编写一个代码,它将接受一年中的任何月份,并输出输入的月份以及该月份的天数列表。但是如果输入了二月,它应该询问出生年份,并检查这是否是闰年,然后输出二月加上二月的天数。 我哪里出错了

month = input("Enter any month of the year: ")
for n in month:
    if (n == "January" or 
     n == "March" or 
     n == "April" or
     n == "May" or 
     n == "June" or 
     n == "July" or 
     n == "August" or
     n == "September" or 
     n == "October" or 
     n == "November" or 
     n == "December"):
       print (n + range(1, 32))
 elif n == "February" :
    year = input("Enter a year")
    for i in year:
        if i % 4 == 0:
            print (year + range(1,29))

我建议您只使用内置的日历模块

# Program to display calendar of the given month and year

# importing calendar module
import calendar

yy = 2014  # year
mm = 11    # month

# To take month and year input from the user
# yy = int(input("Enter year: "))
# mm = int(input("Enter month: "))

# display the calendar
print(calendar.month(yy, mm))

# output
#   November 2014
#Mo Tu We Th Fr Sa Su
#                1  2
# 3  4  5  6  7  8  9
#10 11 12 13 14 15 16
#17 18 19 20 21 22 23
#24 25 26 27 28 29 30

我建议您只使用内置的日历模块

# Program to display calendar of the given month and year

# importing calendar module
import calendar

yy = 2014  # year
mm = 11    # month

# To take month and year input from the user
# yy = int(input("Enter year: "))
# mm = int(input("Enter month: "))

# display the calendar
print(calendar.month(yy, mm))

# output
#   November 2014
#Mo Tu We Th Fr Sa Su
#                1  2
# 3  4  5  6  7  8  9
#10 11 12 13 14 15 16
#17 18 19 20 21 22 23
#24 25 26 27 28 29 30

假设你的目的是学习如何编程,比如为教育任务编程,以下内容应该会有所帮助。如果只是为了完成这项工作,您可能应该使用一些内置的Python模块,如datetime或calendar,因为它们将为您完成许多繁重的工作

首先,input返回一个字符串,当您在一个月内对一个字符串进行n次迭代时,每次将得到一个字符。所以迭代May会得到M,a和y,它们都不等于May。不要迭代,只需比较整个字符串:

如果月份=一月。。。 其次,并非所有月份都有31天,您需要区分那些有30天的月份:

如果月份==二月: 多费布斯图夫 [九月、四月、六月、十一月]的elif月: 30天的事 其他: Do31日用品 第三,不能连接字符串和范围,需要执行以下操作:

本月底= 对于范围1、32中的i: printf{i},结束= 打印 第四,同样在这一年中,input会给你一个字符串,你不想重复它。如果要对其进行数学计算,还需要将其设置为整数,例如:

年=每年的首次输入: 第五,闰年的规则比每四年稍微复杂一些,具体来说:

如果是400的倍数,那就是闰年;其他的 如果是100的倍数,则不是;其他的 如果是4的倍数,则为;其他的 不是。 考虑到所有这些因素,这里有一种方法可以做到这一点,增加了对有效期月份名称和年份的检查:

Days30=[九月、四月、六月、十一月] Days31=[一月、三月、五月、七月、八月、十月、十二月] 最后一天=无 月=输入一年中的任何月份: 如果月份==二月: 最后一天=28 年份=-1 当年份<0时: 尝试: 年份=初始输入年份: 除: 年份=-1 如果年份%400==0或年份%100!=0和年份%4==0: 最后一天=29 elif月(以天为单位)30: 最后一天=30 elif月份(以天为单位)31: 最后一天=31 如果lastDay为“无”: printfI不知道月份{month} 其他: printf{month}:,结束= 对于范围为1的日期,lastDay+1: printf{day},结束= 打印
我不会把它当作你自己的作品,你几乎肯定会被判剽窃罪,但这是一段获得一些想法的好代码。

假设你的目的是学习如何编程,比如学习教育作业,以下内容应该会有所帮助。如果只是为了完成这项工作,您可能应该使用一些内置的Python模块,如datetime或calendar,因为它们将为您完成许多繁重的工作

首先,input返回一个字符串,当您在一个月内对一个字符串进行n次迭代时,每次将得到一个字符。所以迭代May会得到M,a和y,它们都不等于May。不要迭代,只需比较整个字符串:

如果月份=一月。。。 其次,并非所有月份都有31天,您需要区分那些有30天的月份:

如果月份==二月: 多费布斯图夫 [九月、四月、六月、十一月]的elif月: 30天的事 其他: Do31日用品 第三,不能连接字符串和范围,需要执行以下操作:

本月底= 对于范围1、32中的i: printf{i},结束= 打印 第四,同样在这一年中,input会给你一个字符串,你不想重复它。如果要对其进行数学计算,还需要将其设置为整数,例如:

年=每年的首次输入: 第五,闰年的规则比每四年稍微复杂一些,具体来说:

如果是400的倍数,那就是闰年;其他的 如果是100的倍数,则不是;其他的 如果是4的倍数,则为;其他的 不是。 考虑到所有这些因素,这里有一种方法可以做到这一点,增加了对有效期月份名称和年份的检查:

Days30=[九月、四月、六月、十一月] Days31=[一月、三月、五月、七月、八月、十月、十二月] 最后一天=无 月=输入一年中的任何月份: 如果月份==二月: 最后一天=28 年份=-1 当年份<0时: 尝试: 年份=初始输入年份: 除: 年份=-1 如果年份%400==0或年份%100!=0和年份%4==0: 最后一天=29 elif月(以天为单位)30: 最后一天=30 elif月份(以天为单位)31: 最后一天=31 如果lastDay为“无”: printfI不知道月份{month} 其他: printf{month}:,结束= 对于范围为1的日期,lastDay+1: 普林 tf{day},结束= 打印
我不想把它当作你自己的作品,你几乎肯定会因为剽窃而被Ping,但这是一个获得一些想法的好代码。

如果你问你哪里出错了,有一些地方:

if和elif缩进不正确,表示它们不对齐。 当您在月份中为n写入时,n取输入月份中每个字母的值。e、 如果您进入七月,n将作为J、u、l和y进行迭代。因此,将n与月份的全名进行比较,结果总是错误的。只需比较月份,而不是迭代。 获取输入时,python将用户输入的值存储为字符串year=inpunter a year。所以,当你迭代变量year for i in year时,你迭代的是一串数字,而不是数字。此外,模运算符不适用于字符串i%4,因为在本例中i是字符串。Just do year=intinpunter a year要将year转换为ineger,不要迭代,直接用4检查余数。
您可以通过引用代码来获取工作代码。

如果您询问错误出在哪里,则有以下几个地方:

if和elif缩进不正确,表示它们不对齐。 当您在月份中为n写入时,n取输入月份中每个字母的值。e、 如果您进入七月,n将作为J、u、l和y进行迭代。因此,将n与月份的全名进行比较,结果总是错误的。只需比较月份,而不是迭代。 获取输入时,python将用户输入的值存储为字符串year=inpunter a year。所以,当你迭代变量year for i in year时,你迭代的是一串数字,而不是数字。此外,模运算符不适用于字符串i%4,因为在本例中i是字符串。Just do year=intinpunter a year要将year转换为ineger,不要迭代,直接用4检查余数。
您可以通过引用代码来获取工作代码。

使用日历模块。。。我不是python开发人员,但你不需要像下面打印年份+范围1,28这样的东西吗?使用日历模块。。。它看起来会更漂亮,它是一块cakei,我不是python开发人员,但你不需要像下面打印年份+范围1,28这样的东西吗。