我一直在阅读该网站多年,今天是我的第一个问题。
我被邀请参加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)
答案 0 :(得分:1)
看起来time
是datetime.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()正在做的事情并开始工作。
不幸的是,我的代码没有通过,我没时间提交:'''(
我希望得到另一个邀请。