python - 我的陈述不起作用,我不知道为什么
问题描述
我将我的代码编辑到现在可以工作的程度:
def Reset():
data = []
data.append({
'year': now.year,
'months': []
})
for year in range(len(data)):
for month in range(12):
data[year]['months'].append({
'month': (month + 1),
'days': []
})
if (month+1 == 2):
daysAmount = 28
if (is_leap_year(now.year)):
daysAmount = 29
elif ((month+1) == 12):
daysAmount = 31
elif ((month+1)%2 == 0):
daysAmount = 30
else:
daysAmount = 31
for day in range(daysAmount):
data[year]['months'][month]['days'].append({
'day': (day + 1),
})
with open('data.json', 'w') as outfile:
json.dump(data, outfile)
Reset() 这是我让它工作后的输出:
[{"year": 2021, "months": [{"month": 1, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 2, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}]}, {"month": 3, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 4, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}]}, {"month": 5, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 6, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}]}, {"month": 7, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 8, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}]}, {"month": 9, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 10, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}]}, {"month": 11, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}, {"month": 12, "days": [{"day": 1}, {"day": 2}, {"day": 3}, {"day": 4}, {"day": 5}, {"day": 6}, {"day": 7}, {"day": 8}, {"day": 9}, {"day": 10}, {"day": 11}, {"day": 12}, {"day": 13}, {"day": 14}, {"day": 15}, {"day": 16}, {"day": 17}, {"day": 18}, {"day": 19}, {"day": 20}, {"day": 21}, {"day": 22}, {"day": 23}, {"day": 24}, {"day": 25}, {"day": 26}, {"day": 27}, {"day": 28}, {"day": 29}, {"day": 30}, {"day": 31}]}]}]
检查的答案解决了我的问题。
解决方案
你检测甚至几个月的方法是错误的。您希望 4/2 是 type int
,但事实并非如此。
type((3+1)/2)
<class 'float'>
无论如何,按类型检测偶数/奇数是非常错误的。
您应该改用模运算符%
if ((month+1) == 12):
daysAmount = 31
elif ((month+1)%2) == 0):
daysAmount = 30
else:
daysAmount = 31
推荐阅读
- android - Android LayoutParams 未正确更新
- angular - 在页面上显示多个图表时出现问题
- php - php中水印.JPG图像的问题
- python - 在通过 map() 调用的函数中使用 yield 关键字而不是 return
- sql - 有没有办法在 oracle sql 中获取 (HH24:MI:SS - HH24:MI:SS) 的输出并将其转换为仅几分钟?
- tensorflow - 在张量流中同时训练两个网络
- python - TensorFlow Dataset 将平铺图像添加到批量维度
- mysql - Mysql给了我不相关的结果
- jquery - 带有禁用子链接的跨度上的 JQuery UI 工具提示
- javascript - 使用 hls.js 修改 m3u8 文件