Python求数值范围匹配返回对应数字或字母的优化实现方案
实现方案
直接通过数值计算替代逐段判断,代码如下:
def char_finder(number): # 处理0-9直接返回的逻辑 if 0 <= number <= 9: return number # 计算字母偏移量:每5个数值对应1个字母,10-14对应偏移0即A offset = (number - 10) // 5 # 偏移量超过25时统一取25对应Z offset = min(offset, 25) return chr(ord('A') + offset)
逻辑验证
你可以用以下测试用例验证结果符合要求:
- 输入
5→ 返回5 - 输入
13→ 偏移量为(13-10)//5 = 0→ 返回A - 输入
17→ 偏移量为(17-10)//5 = 1→ 返回B - 输入
138→ 偏移量为(138-10)//5 = 25→ 返回Z - 输入
200→ 偏移量取min(38,25) = 25→ 返回Z
如果需要调整区间的对齐基准,只需要修改(number - 10)中的10为对应起始值即可。
内容的提问来源于stack exchange,提问作者rahul.m
相关产品推荐
相关产品推荐

