You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建按指定数值范围输出对应数字的函数?

实现区间映射函数的简单方案

你的需求是将输入数值按以下规则映射输出:

  • 1-29 → 1
  • 30-59 → 2
  • 60-89 → 3
  • 后续每30个数,输出值加1

方案1:条件判断(新手友好,逻辑直观)

这种写法最容易理解,适合刚入门的开发者:

def get_mapped_value(num):
    # 处理输入小于1的异常情况,可根据需求调整
    if num < 1:
        return None  # 或者返回提示信息,比如"输入值必须≥1"
    
    if 1 <= num <= 29:
        return 1
    elif 30 <= num <= 59:
        return 2
    elif 60 <= num <= 89:
        return 3
    # 处理更大的数值,每30个数对应输出+1
    else:
        return ((num - 90) // 30) + 4

方案2:数学公式(更简洁,支持任意大的数)

观察规律:除了第一个区间(1-29),后面每个区间都是30个数。用整数除法可以快速计算:

def get_mapped_value(num):
    if num < 1:
        return None
    
    if num <= 29:
        return 1
    # 从30开始,计算与30的差值,除以30取整后加2
    return ((num - 30) // 30) + 2

其他语言示例(JavaScript)

如果用JavaScript实现,逻辑完全一致,只是语法不同:

function getMappedValue(num) {
    if (num < 1) return null;
    
    if (num >= 1 && num <= 29) return 1;
    else if (num >= 30 && num <= 59) return 2;
    else if (num >= 60 && num <= 89) return 3;
    else return Math.floor((num - 90)/30) + 4;
}

内容的提问来源于stack exchange,提问作者Gordon Shumway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 21:45:38