1

我在 IDLE 上得到了正确的输出,但提交说它不正确。提前感谢您的任何建议/解决方案。

代码:

def valid_year(year):
    for i in range(1900,2021):
        if year.isdigit() and int(year)==i:
            return year

空闲输出:http: //i.imgur.com/S3FSVkq.jpg

不正确。对于输入“1920”,您的提交没有返回正确的结果。您的提交通过了 9 个测试用例中的 7 个。

4

3 回答 3

1

基于 Burhan 的回答,但返回年份:

def valid_year(year):
    if not year.isdigit():
        return False
    if 1900 <= int(year) <= 2021:
        return year
    return False
于 2013-06-24T05:31:22.673 回答
1

试试这个更简单的版本:

def valid_year(year):
    if not year.isdigit():
       return False
    return 1900 <= int(year) <= 2021
于 2013-06-24T04:03:04.517 回答
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
于 2013-06-23T22:54:52.367 回答