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

Python 5位金字塔数字判定实现及数位提取逻辑优化咨询

数位提取逻辑优化说明

你当前使用的整除+取余的数位提取逻辑本身在输入为合法5位正整数的前提下是完全准确的,不会影响金字塔数字的判定结果,只是写法冗余度较高,且没有覆盖输入合法性校验的场景,整体可以做如下优化进一步提升健壮性和可读性:

优化方向1:用字符串处理简化数位提取

不需要写多句重复的整除、取余逻辑,直接将输入转为字符串处理即可快速得到每一位的数值,代码更简洁不易出错:

# 直接读取输入为字符串
num_str = input("Enter number: ").strip()
# 输入合法性校验:必须是5位纯数字
if not num_str.isdigit() or len(num_str) != 5:
    print("请输入合法的5位正整数")
else:
    # 快速转成每一位的整数列表
    digits = [int(c) for c in num_str]
    if digits[0] < digits[1] < digits[2] > digits[3] > digits[4]:
        print(f"{num_str} : Pyramid")
    else:
        print(f"{num_str} : Not pyramid")

优化方向2:补充输入合法性校验

你原有代码没有对输入做校验,如果用户输入非5位数字、非数字内容时,会直接报错或者得到错误的判定结果,补充校验逻辑后整体判定的准确性会大幅提升。

如果你坚持要使用数值运算的方式提取数位,原有逻辑本身没有错误,只要提前加一步输入范围校验(判断输入的数字在10000~99999区间内),就能保证判定结果准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:15:03