Ich habe an diesem Code seit ungefähr einem Tag gearbeitet. Ein paar Stunden auf nur diesem einen Teil sagt es immer wieder, dass ich in Zeile 26 einen Attributfehler habe. Leider sind das alle Informationen, die ich habe. Ich habe unzählige verschiedene Möglichkeiten ausprobiert und viele Websites/Foren durchsucht. Ich schätze jede Hilfe. Hier ist der Code:Python Attribut Fehler if Anweisung
import itertools
def answer(x, y, z):
monthdays = {31,
28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31}
real_outcomes = set()
MONTH = 0
DAY = 1
YEAR = 2
#perms = [[x, y, z],[x, z, y],[y, z, x],[y, x, z],[z, x, y],[z, y, x]]
possibilities = itertools.permutations([x, y, z])
for perm in possibilities:
month_test = perm[MONTH]
day_test = perm[DAY]
#I keep receiving an attribute error on the line below
* if month_test <= 12 and day_test <= monthdays.get(month_test):
real_outcomes.add(perm)
if len(realOutcomes) > 1:
return "Ambiguous"
else:
return "%02d/%02d/%02d" % realOutcomes.pop()
Nur eine kurze Frage, warum wäre nicht ein Diktat? +1 –
@PythonMaster: weil das ist die Syntax für die Deklaration eines 'set'. Ein Wörterbuch enthält Schlüsselwerte _und_, nicht nur Werte. – mhawke
Ich habe es gerade zu einem Diktat geändert und es funktioniert perfekt! Wie gesagt, ich bin ein wenig neu bei Python. Ich werde auch eine Version mit dem Code versuchen, den Sie angegeben haben. Ich schätze die Hilfe! Ich dachte, der Doppelpunkt hätte es gespleißt, anstatt einen Schlüssel zu setzen –