Python判断水仙花数:简单易懂的代码示例与解析

什么是水仙花数?

水仙花数(Narcissistic number)也被称为超完全数字invariant number、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,是指一个 3 位数,其各位数字立方和等于该数本身。例如,153 就是一个水仙花数,因为 1³ + 5³ + 3³ = 153。

Python代码实现

以下是使用 Python 编写的判断水仙花数的程序:

while True:
    num = input('请输入一个3位正整数:')
    if len(num) == 3 and num.isdigit():
        num = int(num)
        if (num//100)**3 + ((num%100)//10)**3 + (num%10)**3 == num:
            print(f'{num}是水仙花数')
        else:
            print(f'{num}不是水仙花数')
        break
    else:
        print('输入无效,请重新输入')

代码解析

  1. **循环输入:**程序使用 while True 创建一个无限循环,允许用户反复输入数字进行判断。
  2. 输入验证:
    • 使用 input 函数获取用户输入的字符串。
    • 使用 len(num) == 3 检查输入字符串长度是否为 3。
    • 使用 num.isdigit() 检查输入字符串是否只包含数字字符。
  3. 水仙花数判断:
    • 如果输入有效,则使用 int(num) 将其转换为整数。
    • 使用 //% 运算符计算百位数、十位数和个位数。
    • 计算各位数字的立方和,并与原数比较。
    • 根据比较结果输出相应的信息。
  4. 循环控制:
    • 如果输入有效且完成了水仙花数判断,使用 break 语句跳出循环。
    • 如果输入无效,输出错误提示信息,并继续等待用户输入。

总结

这段 Python 代码简洁清晰地实现了水仙花数的判断逻辑。通过学习这段代码,你可以了解到 Python 中循环、条件语句、类型转换、算术运算符等基本语法的应用,以及如何进行简单的用户输入验证。

Python判断水仙花数:简单易懂的代码示例与解析

原文地址: https://www.cveoy.top/t/topic/bwrw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录