2016-06-13 21 views
1

Ich habe die Seite seit vielen Jahren gelesen und heute ist meine erste Frage.Google Foobar: Attribut Fehler beim Einreichen der Lösung

Ich wurde eingeladen, in Google Foobar für die Python-Suche zu spielen, als ich mein neu gefundenes Wissen nach Abschluss eines Tutorials getestet habe.

Als ich meine 'solution.py' einreichen bekomme ich folgende Fehlermeldung: Attribute on line 13

Dieser Code läuft gut in Eclipse

Dies ist der Code:

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 

Edit: perm_obj ist das Ergebnis von itertools permutation method.

Edit: Ich habe den Code ein wenig geändert, um zu zeigen, wie perm_obj aussieht. Ich hoffe das hilft.

Code:

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 

Ausgang:

(19, 19, 3) 
(19, 3, 19) 
(19, 19, 3) 
(19, 3, 19) 
(3, 19, 19) 
(3, 19, 19) 
+0

bitte ein Beispiel v liefern oder perm_obj – ravigadila

+0

Ravi,.? Ich habe meinen ursprünglichen Post oben bearbeitet – Alex

+0

Wenn Ihr Code nur 10 Zeilen ist, muss der Fehler in Zeile 13 in Google-Code sein :) – 9000

Antwort

1

Es sieht aus wie time eine Instanz von datetime.time ist, die keine strptime Methode hat. Da Sie ein Datum erstellen, möchten Sie es wahrscheinlich stattdessen datetime.datetime sein.

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

oder äquivalent:

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

Lass mich das versuchen! Danke – Alex

+0

Ich verstehe und es funktioniert auch, aber es mag diese Linie immer noch nicht. – Alex

+0

@Alex Wenn Sie die vollständige Fehlermeldung anstatt nur einen kleinen Teil davon veröffentlichen, wird es sehr hilfreich beim Debugging-Prozess. Nicht nur der Typ und die Zeile, sondern die gesamte Nachricht und die Rückverfolgung. –

0

So scheint es, wie das foo.bar Projekt nicht den importierten Datetime-Modul mag. Ich nahm es ab und schrieb etwas Code neu, um zu tun, was time.strptime() tat, und es fing an zu arbeiten. mein Code

Leider nicht bestanden, und ich lief zu unterbreiten aus der Zeit: ‚‘ '(

Ich hoffe, dass ich eine andere einladen