【发布时间】:2018-03-21 21:57:21
【问题描述】:
有一个条件,我必须使用 return 而不是 print,因为如果我使用 print,if 条件将不会继续(如果我错了,请纠正我),现在我需要查看结果(在某些网站中,例如当代码与他们如何将事物组合在一起以检查解决方案是否正确时)
def centuryFromYear(year):
"""Calculates the century for a given year:
Example: year 1 = 1, year 100 = 1, year 101 = 2 year 1954 = 19 etc."""
if len(str(year)) == 1 or 2:
return 1
if len(str(year)) == 3:
if year[1:3] == 0:
return year[0]
else:
return year[0] + 1
if len(str(year)) == 4:
if year[1:4] == 0:
return year[0] + 0
else:
return year[0:2] + 1
【问题讨论】:
-
有什么问题?即预期的输出是什么,你现在看到了什么?
-
print(centuryFromYear(2018))? -
您的身份已关闭。
if year[1:3] == 0应该完成什么...何时是 len > 0 == 0 的列表?您的ifs缺少 else,因此如果 if 不匹配,它们会返回“某物”-在这种情况下,他的方法将隐式返回None。 -
@sam 给定一个年份,返回它所在的世纪。第一个世纪从第 1 年到第 100 年(包括第 100 年),第二个世纪从第 101 年到第200等
-
if len(str(year)) == 1 or 2:不会像您认为的那样做。这与if (len(str(year)) == 1) or 2的计算结果相同