Google Foobar:提交解决方案时出现属性错误

时间:2016-06-13 19:03:09

标签: python google-search attributeerror python-datetime

我一直在阅读该网站多年,今天是我的第一个问题。

我被邀请参加Google Foobar搜索Python,因为我在完成教程后测试了我的新知识。

当我提交'solution.py'时,我收到以下错误: 第13行的AttributeError

此代码在Eclipse中运行良好

这是代码:

from itertools import permutations
import time

x, y, z = 3, 19, 19
values = [x, y, z]
perm_obj = permutations(values)

for v in perm_obj:
    try:
        if time.strptime(str(v), '(%m, %d, %y)'): #This is line 13
            my_output.append(v)
    except ValueError:
        pass

编辑:perm_obj是itertools permutation method的结果。

itertools.permutations(iterable, r=None)

编辑:我稍微更改了代码以显示perm_obj的外观。我希望这会有所帮助。

代码:

from itertools import permutations
from datetime import datetime

def answer(x, y, z):

    values = [x, y, z]
    perm_obj = permutations(values)
    my_output = []

    for v in perm_obj:
        try:
            print(v)
            datetime.strptime(str(v), '(%m, %d, %y)')
            my_output.append(v)
        except ValueError:
            pass

输出:

(19, 19, 3)
(19, 3, 19)
(19, 19, 3)
(19, 3, 19)
(3, 19, 19)
(3, 19, 19)

2 个答案:

答案 0 :(得分:1)

看起来timedatetime.time的一个实例,它没有strptime方法。由于您正在构建日期,因此您可能希望它成为datetime.datetime

import datetime
if datetime.datetime.strptime(str(v), '(%m, %d, %y)'):
    # etc

或等效地:

from datetime import datetime
if datetime.strptime(str(v), '(%m, %d, %y)'):
    # etc

答案 1 :(得分:0)

因此,似乎foo.bar项目不喜欢导入的datetime模块。我把它取下并重新写了一些代码来做time.strptime()正在做的事情并开始工作。

不幸的是,我的代码没有通过,我没时间提交:'''(

我希望得到另一个邀请。