中级
实现嵌套对象验证
未完成
中级参考
代码结构已给出,请填写 ____ 处
def solve():
from pyodide.http import open_url
from io import StringIO
raw_requests_csv = open_url(____).read()
import json
ORDER_SCHEMA = {
'____': {'____': int, '____': True, '____': ____},
'____': {'____': list, '____': True, '____': ____},
'____': {'____': str, '____': True},
}
ITEM_SCHEMA = {
'____': {'____': str, '____': True},
'____': {'____': int, '____': True, '____': ____},
}
def validate_obj(____):
errors = []
for field, rules in schema.items():
val = obj.get(____)
if rules.get(____) and val is None:
errors.append(____); continue
if val is not None and not isinstance(____):
errors.append(____); continue
if isinstance(____) and '____' in rules and val < rules['____']:
errors.append(____)
if isinstance(____) and '____' in rules and len(____) < rules['____']:
errors.append(____)
return errors
orders = [
{'____':____,'____':[{'____':'____','____':____}],'____':'____'},
{'____':____,'____':[],'____':'____'},
{'____':____,'____':[{'____':'____'}]},
]
for i, order in enumerate(____):
errs = validate_obj(____)
for item in order.get(____):
errs += validate_obj(____)
print(____)
示例
输入
solve()
期望输出
order[1]: VALID order[2]: INVALID: ['user_id: < min=1', 'items: too short'] order[3]: INVALID: ['idempotency_key: required', 'items[0].qty: required']
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199