Я работаю над этим кодом примерно через день. Через несколько часов на этой одной части он говорит, что у меня есть ошибка атрибута строки 26. К сожалению, это все, что у меня есть. Я пробовал множество различных способов исправить это и искал много сайтов/форумов. Я ценю любую помощь. Вот код:Ошибка атрибута Python, если оператор
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()
Просто быстрый вопрос, почему бы не назвать диктофон? +1 –
@PythonMaster: потому что это синтаксис для объявления 'set'. Словарь содержит ключи _and_ значения, а не только значения. – mhawke
Я на самом деле просто изменил его на диктофон, и он отлично работает! как я уже сказал, я немного новичок в python. Я также собираюсь попробовать версию с кодом, который вы дали. Я ценю помощь! Я думал, что двоеточие спланировало бы его вместо того, чтобы устанавливать ключ –