中级
实现dayparting时段规则解析
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd
tgt_csv = open_url(____).read()
targets = pd.read_csv(StringIO(____))
TIME_SLOTS = {
'____': {'____':'____','____':'____','____':'____'},
'____': {'____':'____','____':'____','____':'____'},
'____': {'____':'____','____':'____','____':'____'},
'____': {'____':'____','____':'____','____':'____'},
}
def parse_time(____):
h, m = map(int, t.split(____))
return h * ____ + m
def get_active_slot(____):
for slot_name, slot in TIME_SLOTS.items():
start = parse_time(____)
end = parse_time(____)
if start <= minute_of_day < end:
return slot_name, slot['____']
return None, '____'
print(____)
for h in [____, ____, ____, ____, ____, ____]:
slot, desc = get_active_slot(____)
print("____"+str(____)+"____"+str(____)+"____"+desc+"____")
print(____)
for slot, grp in targets.groupby(____):
print("____"+str(____)+"____"+str(len(____))+"____"+str(round(grp['____'].mean(),____)))
示例
输入
solve()
期望输出
Dayparting test: 7:00 -> slot=morning_peak (早高峰) 8:00 -> slot=morning_peak (早高峰) 12:00 -> slot=noon (午间) 18:00 -> slot=evening_peak (晚高峰) 22:00 -> slot=night (深夜) 2:00 -> slot=None (off_peak) Target distribution by slot: evening_peak: 25 campaigns avg_freq=7.6 morning_peak: 26 campaigns avg_freq=7.5 night: 22 campaigns avg_freq=8.0 noon: 26 campaigns avg_freq=9.0
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199