430 字
2 分钟
Python解题方法

Python解题思路讲解
一、水仙花计数判断
1. 读懂题目
题目: 输入一个三位数,判断这个三位数是否是水仙花数,所谓水仙花数是指一个三位数,其各位数字⽴方和等于该数本身。例如:153是⼀个⽔仙花数,因为 1³ + 5³ + 3³ 等于 153 首先我们得拆解题意
- 题目需要有输入/输入
- 题目需要判断
- 题目需要计算
2. 拆解题意
先把题目拆成“三件小事”:
- 拿到一个三位数 → 输入
- 把它的百、十、个位分别拎出来 → 计算
- 看看立方和等不等于它本身 → 判断
| 输入 | 计算过程 | 期望输出 |
|---|---|---|
| 153 | 1³+5³+3³=1+125+27=153 | 是 |
| 120 | 1³+2³+0³=1+8+0=9 ≠120 | 否 |
| 371 | 3³+7³+1³=27+343+1=371 | 是 |
可得:
- 有
input赋值 - 有
if语句判断 - 需要对计算结果进行判断,计算公式为
3. 逻辑梳理
为了更清楚的了解流程,以下是流程图:
flowchart TD
A([开始]) --> B[/输入三位数 n/]
B --> E[百位 a ← n//100]
E --> F[十位 b ← n//10 % 10]
F --> G[个位 c ← n % 10]
G --> I{a³+b³+c³ == n ?}
I -- 是 --> J[输出 True]
I -- 否 --> K[输出 False]
J --> L([结束])
K --> L4. 编写代码
由上面的流程图可得:
n = int(input())a = n // 100 # 百位b = (n // 10) % 10 # 十位c = n % 10 # 个位if a**3 + b**3 + c**3 == n: print("True") # 题目要求输出 True/False 也行else: print("False")运行结果测试:
| 手工输入 | 屏幕输出 | 说明 |
|---|---|---|
153↵ | True | 153 是水仙花数 |
120↵ | False | 120 不是 |
371↵ | True | 371 是水仙花数 |
小结
你知道吗?三位数中只有 4 个水仙花数:153、370、371、407。你可以试试输入它们,看看是不是都输出 True!
分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 309 天
部分内容可能已过时