优草派 > 问答 > Python

判断水仙花数python代码

作者:dongge8180     

水仙花数,也称为阿姆斯特朗数,是一个三位数,它的各位数字的立方和等于它本身。举个例子,153是一个水仙花数,因为1的立方加上5的立方加上3的立方等于153。在Python中,可以使用以下代码判断一个三位数是否为水仙花数:

```

num = int(input("请输入一个三位数:"))

sum = 0

temp = num

while temp > 0:

digit = temp % 10

sum += digit ** 3

temp //= 10

if num == sum:

print(num,"是水仙花数")

else:

print(num,"不是水仙花数")

```

下面我们从多个角度来分析这段代码。

1. 输入输出模块

第一行代码使用了input函数,让用户输入一个三位数。input函数可以接受用户的输入,并返回一个字符串。但是,由于我们需要进行数值计算,所以需要将输入的字符串转换为整数。这里使用了int函数将字符串转换为整数。如果用户输入的不是一个合法的三位数,会抛出ValueError异常。

第五行代码使用了print函数输出判断结果。print函数可以接受多个参数,并将它们转换为字符串输出。在这里,我们使用了逗号分隔的两个参数,第一个参数是需要输出的字符串,第二个参数是需要输出的数值变量。

2. 算法实现模块

第二行代码定义了一个变量sum,用来存储各位数字的立方和。在之后的while循环中,我们使用temp变量来存储输入的三位数,以便在循环结束后恢复原始值。

第三行代码使用了while循环,当temp变量大于0时执行循环体。在循环体中,我们使用了取模运算符%获取temp的个位数字,并将其赋值给digit变量。然后,我们使用幂运算符**计算digit的立方,并将其加到sum变量中。最后,我们使用整除运算符//将temp除以10,以便获取下一位数字。当temp变量等于0时,循环结束。

第六行代码使用了if条件语句,判断输入的三位数和sum变量是否相等。如果相等,则输出数值和“是水仙花数”的字符串;否则,输出数值和“不是水仙花数”的字符串。

3. 错误处理模块

在第一行代码中,我们使用了try...except语句来捕获可能抛出的ValueError异常。如果用户输入的不是一个合法的三位数,程序会输出“输入的不是三位数”的字符串,并提示用户重新输入。

```

while True:

try:

num = int(input("请输入一个三位数:"))

if 100 <= num <= 999:

break

else:

print("输入的不是三位数,请重新输入")

except ValueError:

print("输入的不是三位数,请重新输入")

```

在这段代码中,我们使用了一个无限循环,直到用户输入了一个合法的三位数为止。在每次循环中,我们使用try...except语句来捕获可能抛出的ValueError异常。如果用户输入的不是一个合法的三位数,程序会输出“输入的不是三位数”的字符串,并提示用户重新输入。如果用户输入的是一个合法的三位数,则跳出循环并将其赋值给num变量。

5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
相关问题
sql判断字段是否存在
MySQL查看表命令
csv文件python
python键值对
查看更多

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024