我在IDLE上得到了正确的输出,但提交说它不正确。提前感谢您提出任何建议/决议。
代码:
def valid_year(year):
for i in range(1900,2021):
if year.isdigit() and int(year)==i:
return year
IDLE输出: http://i.imgur.com/S3FSVkq.jpg
不正确的。您的提交没有返回正确的结果 输入'1920',。您的提交通过了9个测试用例中的7个。
答案 0 :(得分:1)
试试这个更简单的版本:
def valid_year(year):
if not year.isdigit():
return False
return 1900 <= int(year) <= 2021
答案 1 :(得分:1)
以Burhan的答案为基础,但回归年份:
def valid_year(year):
if not year.isdigit():
return False
if 1900 <= int(year) <= 2021:
return year
return False
答案 2 :(得分:0)
奇怪的是它通过了9次测试中的7次。让我觉得Udacity的评分员可以很快超时 - 它是否可能不喜欢在每次迭代时检查year.isdigit()
?这看起来很无聊,但你可以试试:
def valid_year(year):
if not year.isdigit():
return "Invalid year."
for i in range(1900, 2021):
if i == int(year):
return year