擅长:python、mysql、java
<p>问题是<code>monthdays</code>没有<code>get()</code>方法,这是因为{<cd1>}是一个<code>set</code>,而不是你可能预期的<code>dict</code>。在</p>
<p>查看您的代码,列表或元组似乎适合<code>monthdays</code>。集合没有用处,因为它没有顺序,不能包含重复项:</p>
<pre><code>monthdays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
</code></pre>
<p>然后:</p>
^{pr2}$
<hr/>
<p>你的代码表明你最终会想处理好几年。在这种情况下,您应该看看<a href="https://docs.python.org/3/library/calendar.html" rel="nofollow">^{<cd7>}</a>模块。它提供了函数<a href="https://docs.python.org/3/library/calendar.html#calendar.monthrange" rel="nofollow">^{<cd8>}</a>,该函数给出给定年份和月份的天数,并处理闰年。在</p>
<pre><code>from calendar import monthrange
try:
if 1 <= perm[DAY] <= monthrange(perms[YEAR], perm[MONTH])[1]:
real_outcomes.add(perm)
except ValueError as exc:
print(exc) # or pass if don't care
</code></pre>