初级
实现范围验证器
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
validation_rules_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_01/validation_rules.csv").read()
import pandas as pd
from io import StringIO
rules = pd.read_csv(StringIO(validation_rules_csv))
def range_validate(field, value, rules_df):
rule = rules_df[(rules_df['field']==field) & (rules_df['rule_type']=='range')]
if rule.empty: return True, ''
mn, mx = map(float, rule.iloc[0]['constraint'].split(','))
ok = mn <= float(value) <= mx
return ok, rule.iloc[0]['message'] if not ok else ''
test_cases = [('age',25),('age',-1),('age',150),('price',299.0),('price',-10),('stock',50),('stock',-5)]
for field, val in test_cases:
ok, msg = range_validate(field, val, rules)
print(f"{field}={val}: ok={ok}" + (f", err={msg}" if msg else ''))
示例
输入
solve()
期望输出
age=25: ok=True age=-1: ok=False, err=年龄必须在1-120之间 age=150: ok=False, err=年龄必须在1-120之间 price=299.0: ok=True price=-10: ok=False, err=价格必须大于0 stock=50: ok=True stock=-5: ok=False, err=库存不能为负数
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199