当前位置:首页>python>Python新手刷题|判断正整数立方数(极简for-else写法)

Python新手刷题|判断正整数立方数(极简for-else写法)

  • 2026-10-11 07:36:17
Python新手刷题|判断正整数立方数(极简for-else写法)

大家好!今天分享一道Python基础算法题:判断一个数是不是立方数。

给大家分享一段新手最友好、代码最简洁的写法,利用 Python 独有的 for-else 语法,不用标记变量,逻辑干净利落!

📌 题目说明(仅限正整数)

给定一个正整数 A,判断它是否为某个整数的三次方。

是立方数 → 输出 YES

不是立方数 → 输出 NO

示例:

  • 输入 8 → 2³=8 → YES

  • 输入 27 → 3³=27 → YES

  • 输入 12 → 不是立方数 → NO

✨ 新手满分代码(你的原版·最优解)

# 输入正整数a = int(input())# 遍历所有可能的立方根for i in range(1, a+1):    # 判断当前数的立方是否等于输入值    if i ** 3 == a:        print("YES")        break# 循环跑完没触发break,说明不是立方数else:    print("NO")

💡 核心知识点:for-else 机制

很多新手只会 if-else,其实 for-else 是 Python 刷题神器!

规则超级简单:

  1. 循环里 执行了 break → 不执行 else(找到立方数,输出 YES)

  2. 循环 正常跑完、没有 break → 执行 else(没找到,输出 NO)

优势:不用定义 flag 标记变量,代码更短、逻辑更清晰!

🔍 逐行超通俗解析

1. a = int(input())

接收键盘输入,转为整数,是我们需要判断的数字。

2. for i in range(1, a+1)

立方根一定不会比原数大,所以只需要从 1 遍历到 a 即可,范围精准不浪费性能。

3. if i ** 3 == a

逐个计算 i 的立方,对比是否和输入数相等,相等就说明是立方数。

4. break 跳出循环

一旦找到答案,立刻终止循环,避免无效遍历。

5. else 输出 NO

全程遍历完都没有找到符合条件的数,判定不是立方数。

✅ 适用场景说明

本代码 只针对正整数题目,完全适配学校作业、基础刷题场景:

  • 无需处理负数、0

  • 逻辑最简单,新手零负担

  • 无浮点精度问题,答案100%准确

📝 新手总结

1. 判断次方数,优先使用 遍历枚举,比开方运算更稳、无精度bug;

2. for-else 是 Python 专属优质语法,查找类题目直接套用;

3. 正整数立方数判断,这段代码就是最简标准答案。

零基础Python刷题干货,持续更新,新手可以收藏慢慢学✨

最新文章

随机文章