首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从年份到世纪的函数

从年份到世纪的函数
EN

Stack Overflow用户
提问于 2017-09-22 12:21:27
回答 10查看 22.4K关注 0票数 3

问题:给定一年,返回它所在的世纪。第一个世纪是从公元1年到公元100年,第二个世纪是从公元101年到公元200年,等等。

我的代码:

代码语言:javascript
复制
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))

这在某些情况下似乎不起作用。比如当year = 2001或year = 2000时。

有人能提供一段更简单的代码吗?

EN

回答 10

Stack Overflow用户

发布于 2018-06-24 08:46:15

您可以使用‘数学’模块中提供的上限函数来获得所需的解决方案。

代码语言:javascript
复制
def centuryFromYear(year):
 return math.ceil(year/100) 
票数 2
EN

Stack Overflow用户

发布于 2017-09-22 12:40:17

使用整数除法,在2000和2017中都能正常工作:

代码语言:javascript
复制
1 + (year - 1) // 100  
票数 1
EN

Stack Overflow用户

发布于 2018-04-08 05:40:02

代码语言:javascript
复制
a = int(input('Find the Century = ')) 

将这个数字除以100

代码语言:javascript
复制
century = a // 100 

检查年份是否属于同一世纪

代码语言:javascript
复制
if(a%100 != 0):
      century = century + 1
print(century)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46356820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档