问题:给定一年,返回它所在的世纪。第一个世纪是从公元1年到公元100年,第二个世纪是从公元101年到公元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))
这在某些情况下似乎不起作用。比如当year = 2001或year = 2000时。
有人能提供一段更简单的代码吗?
发布于 2018-06-24 08:46:15
您可以使用‘数学’模块中提供的上限函数来获得所需的解决方案。
def centuryFromYear(year):
return math.ceil(year/100)
发布于 2017-09-22 12:40:17
使用整数除法,在2000和2017中都能正常工作:
1 + (year - 1) // 100
发布于 2018-04-08 05:40:02
a = int(input('Find the Century = '))
将这个数字除以100
century = a // 100
检查年份是否属于同一世纪
if(a%100 != 0):
century = century + 1
print(century)
https://stackoverflow.com/questions/46356820
复制相似问题