← 返回题库
中级

实现灌溉计划时间窗口验证

未完成
中级参考 代码结构已给出,请填写 ____ 处
def solve():
    from pyodide.http import open_url
    from io import StringIO
    import pandas as pd
    irr_csv = open_url(____).read()
    irr = pd.read_csv(StringIO(____))
    import datetime
    def validate_irrigation_time(____):
        dt = datetime.datetime.utcfromtimestamp(____)
        hour = dt.hour
        if ____ <= hour <= ____:
            return False, '____'
        if last_rainfall_ts is not None:
            hours_since_rain = (____) / ____
            if hours_since_rain < ____:
                return False, '____' + str(round(____)) + '____'
        return True, '____'
    tests = [
        (____ + ____*____, '____', None),
        (____ + ____*____, '____', None),
        (____ + ____*____, '____', ____),
        (____ + ____*____, '____', ____),
    ]
    for ts, zone, rain_ts in tests:
        import datetime as _dt
        dt = _dt.datetime.utcfromtimestamp(____)
        ok, msg = validate_irrigation_time(____)
        print("____"+dt.strftime(____)+"____"+("____" if rain_ts is None else str(round((____)/____,____))+"____")+"____"+(____))

示例

输入
solve()
期望输出
ts=06:00 rain_ago=none: OK
ts=12:00 rain_ago=none: REJECT: midday_restriction(10-15h)
ts=07:00 rain_ago=7.0h: REJECT: post_rain_cooldown(7.0h<24h)
ts=06:00 rain_ago=30.0h: OK
Python 代码 🔒 登录后使用
🔒

登录后即可练习

注册免费账号,在浏览器中直接运行 Python 代码