问题:给定一年,返回它所处的世纪。第一个世纪是从第一年到100年(含100年),第二个世纪是从101年到200年(含200年),等等
我的代码:
def centuryFromYear(year):
century = year/100
decimal = int(str(century[-2:-1]))
integer = int(str(century)[:2])
if decimal > 0:
return integer + 1
else:
return integer
print(centuryFromYear(2017))
这在某些情况下似乎不起作用。比如年份=2001或年份=2000。
有谁能提供一段更简单的代码吗?
采用整数除法,2000年和2017年都能正常工作:
您可以使用“数学”模块中提供的天花板函数来获得所需的解决方案。
在python 3中可以使用整除运算符
//
:请注意:这并不代表公元前世纪,它使用的截止日期是
Dec 31st xy99
,有时严格定义为Dec 31st xy00
more info here
如果要设置更严格的
Dec 31st xy00
的截止值,则可能需要这样做:相关问题 更多 >
编程相关推荐