153为什么输出不是水仙花数?

来源:2-14 编程练习

慕运维7103654

2019-11-23 03:24:59

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

# 分别求出三位数的个位,十位,百位
bw = num / 100
sw = (num  - bw * 100) / 10
gw = (num - bw * 100 - sw * 10) / 1

# 定义变量total,保存各位数字立方和
totol =(bw ** 3) + (sw ** 3) + (gw ** 3)                           
# 用if语句判断条件是否成立,并做出相应的输出
if totol == num:
    print(str(num) + '是水仙花数')
else:
    print(str(num) + '不是水仙花数')
#补全代码

还有能详细讲解一下分别求出三位数的 个位 十位 百位数 是怎么求出来的? 又为什么这么求

写回答

3回答

Umud

2019-11-24

http://img.mukewang.com/climg/5dda4a970967d24b12140814.jpg

0

时间,

2019-11-24

同学,你好。

1、同学程序中得到的个位,十位,百位的的值是不对的。

求个位,十位,百位的方法:

    个位gw:除以10取余即num % 10

    十位sw:除以100取余之后再对余数53除10取商得到5即num % 100 // 10

    百位bw:除以100取商即num // 100

http://img.mukewang.com/climg/5dd9e38209b3107302290167.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

weixin_慕田峪9013256

2019-11-23


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


# 分别求出三位数的个位,十位,百位

gw = int(num) % 10

sw = int(num) // 10 % 10

bw = int(num) // 100

# 定义变量total,保存各位数字立方和

total = gw**3 + sw**3 + bw**3

# 用if语句判断条件是否成立,并做出相应的输出

if total == num:

    print("{}是水仙花数".format(num))

else:

    print("{}不是水仙花数".format(num))


0

0 学习 · 8160 问题

查看课程