中级
实现验证错误聚合
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
validation_rules_csv = open_url(____).read()
import pandas as pd, re, json
from io import StringIO
rules = pd.read_csv(StringIO(____))
def validate_all(____):
errors = {}
for _, rule in rules_df.iterrows():
field = rule['____']
val = data.get(____)
if rule['____'] == '____' and not val:
errors.setdefault(____).append(____)
elif rule['____'] == '____' and val:
if not re.match(rule['____'], str(____)):
errors.setdefault(____).append(____)
elif rule['____'] == '____' and val is not None:
mn, mx = map(float, rule['____'].split(____))
if not mn <= float(____) <= mx:
errors.setdefault(____).append(____)
return errors
bad_data = {'____': '____', '____': '____', '____': '____', '____': -____, '____': -____}
errors = validate_all(____)
print(____)
for field, msgs in errors.items():
print(____)
示例
输入
solve()
期望输出
总错误数: 5 username: ['用户名不能为空'] email: ['邮箱格式不正确'] phone: ['手机号格式不正确'] age: ['年龄必须在1-120之间'] price: ['价格必须大于0']
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199