判断水仙花数-课后程序(Python程序开发案例教程-黑马程序员编著-第二章-课后作业)

实例5:判断水仙花数

水仙花数是一个3位数,它的每位数字的3次幂之和等于它本身,例如13 + 53+ 33 = 153,153就是一个水仙花数。

本实例要求编写程序,实现判断用户输入的3位数是否为水仙花数的功能。

实例目标

  1. 掌握Python中运算符的使用
  2. 了解if-else语句的使用

实例分析

判断一个三位数是否是水仙花数,可以将这个三位数进行拆分依次获取百位上的数字、十位上的数字、个位上的数字,然后根据水仙花数的特点判断输入的三位数是否为水仙花数。

例如,一个三位数abc,使用(abc//100%10)方式获取百位上的数字a;使用(abc/10%10)方式获取十位上的数字b;使用(abc%10)获取个位上的数字c,然后计算a3+b3+c3的值与abc的中是否相等,如果相等则为水仙花数,如果不相等则不为水仙花数。

代码实现

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

hundreds_place = int(num3 // 100 % 10)   # 百位

ten_place = int(num3 / 10 % 10)         # 十位

one_place = int(num3 % 10)            # 个位

if hundreds_place ** 3 + ten_place ** 3 + one_place ** 3 == num3:

    print(f"{num3}是水仙花数")

else:

    print(f"{num3}不是水仙花数")

首先将input()函数接收用户输入的三位数转换为int类型,并赋值给变量num3,然后分别获取输入三位数的百位数字、十位数字、个位数字并赋值给变量hundreds_place、ten_place、one_place,接着根据水仙花数的特点将各位上的三次方和进行相加,最后使用if-else语句判断相加结果与输入的三位数是否相等,如果相等则使用print()函数输出输入的三位数是水仙花数,如果不是则执行else语句中的代码,输出输入的三位数不是水仙花数。

代码测试

运行代码,控制台输出结果如下(是水仙花数):

请输入一个三位数:153

153是水仙花数

运行代码,控制台输出结果如下(不是水仙花数):

请输入一个三位数:123

123不是水仙花数

你可能感兴趣的:(Python,python)