当前位置: 首页 > news >正文

判断水仙花数-课后程序(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不是水仙花数

http://www.lryc.cn/news/30651.html

相关文章:

  • 目标检测: 数据增强代码详解
  • 第二讲:ambari编译复盘,如何实现一次性成功编译ambari
  • Windows下jdk安装与卸载-超详细的图文教程
  • Jackson CVE-2018-5968 反序列化漏洞
  • 解析MySQL 8.0 OCP(1Z0-908)考试中一道大部分同学都会做错的题目
  • Java死锁
  • BloomFilter原理学习
  • C语言老题新解第1-5题
  • 【数据库系列】MQSQL历史数据分区
  • MyBatis常用的俩种分页方式
  • RPC通信原理解析
  • 【蓝桥杯集训·周赛】AcWing 第93场周赛
  • 蓝桥杯-刷题统计
  • Linux入门教程||Linux Shell 变量|| Shell 传递参数
  • [算法和数据结构]--回溯算法之DFS初识
  • 【LeetCode每日一题】——680.验证回文串 II
  • 【C语言进阶:指针的进阶】你真分得清sizeof和strlen?
  • 【前端必看】极大提高开发效率的网页 JS 调试技巧
  • 【春招面经】视源股份前端一面
  • 插件化开发入门
  • tftp、nfs 服务器环境搭建
  • 汇编系列03-不借助操作系统输出Hello World
  • TPU编程竞赛系列|算能赛道冠军SO-FAST团队获第十届CCF BDCI总决赛特等奖!
  • 【C++】AVL树,平衡二叉树详细解析
  • C/C++开发,无可避免的多线程(篇四).线程与函数的奇妙碰撞
  • elisp简单实例: taglist
  • Azure AI基础到实战(C#2022)-认知服务(3)
  • aws apigateway 使用restapi集成lambda
  • HTML基础
  • ThreadPoolExecutor参数 keepAliveTime allowCoreThreadTimeOut