判断水仙花数的函数实现
简介
水仙花数是指一个三位数,其各个位上数字的立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在这篇文章中,我将向你展示如何用Python编写一个函数来判断一个数是否是水仙花数。
函数实现步骤
下面是整个实现过程的流程图:
journey
title 判断水仙花数的函数实现步骤
section 函数实现步骤
开始 --> 输入三位数
输入三位数 --> 判断三位数是否合法
判断三位数是否合法 --> 计算各位数的立方和
计算各位数的立方和 --> 判断立方和是否等于原数
判断立方和是否等于原数 --> 输出判断结果
输出判断结果 --> 结束
在下面我们将逐步介绍每个步骤的具体实现。
步骤一:输入三位数
首先,我们需要接收用户输入的一个三位数。可以使用input()
函数来实现:
number = input("请输入一个三位数:")
这段代码会让用户在控制台输入一个三位数,并将输入的内容保存在number
变量中。
步骤二:判断三位数是否合法
接下来,我们需要判断用户输入的数是否是一个合法的三位数。合法的三位数是指数值在100到999之间(包含边界)的整数。我们可以使用以下代码来判断:
if len(number) != 3 or not number.isdigit():
print("输入不合法,请输入一个三位数!")
exit()
这段代码首先判断用户输入的数字长度是否为3,如果不是,则输出提示信息并退出程序。接着,使用isdigit()
函数判断输入的是否为整数,如果不是,则同样输出提示信息并退出程序。
步骤三:计算各位数的立方和
在这一步中,我们需要计算用户输入的三位数的各个位上数字的立方和。我们可以使用以下代码来实现:
digit1 = int(number[0])
digit2 = int(number[1])
digit3 = int(number[2])
sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
这段代码首先将输入的三位数的每一位转换为整数类型,并保存在变量digit1
、digit2
和digit3
中。接着,计算各位数的立方和,并将结果保存在sum_of_cubes
变量中。
步骤四:判断立方和是否等于原数
在这一步中,我们需要判断计算得到的立方和是否等于原来的三位数。可以使用以下代码来实现:
if sum_of_cubes == int(number):
print(number, "是水仙花数!")
else:
print(number, "不是水仙花数!")
这段代码使用if
条件语句来判断立方和是否等于原数。如果等于,输出提示信息表示这个数是水仙花数;否则,输出提示信息表示这个数不是水仙花数。
完整代码
下面是完整的函数实现代码:
def is_armstrong_number(number):
if len(number) != 3 or not number.isdigit():
print("输入不合法,请输入一个三位数!")
exit()
digit1 = int(number[0])
digit2 = int(number[1])
digit3 = int(number[2])
sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
if sum_of_cubes == int(number):
print(number, "是水仙花数!")
else:
print(number, "不是水仙花数!")
number = input("请输入一个三位数:")
is_armstrong_number(number)
总结
在本文中,我们通过四个步骤展示了如何用Python编写一个函数来判断一个数是否是水