题目 1119: C语言训练-“水仙花数“问题1(python详解)——练气三层中期

博主:命运之光

🦄专栏:算法修炼之练气篇(C\C++版)

🍓专栏:算法修炼之筑基篇(C\C++版)

🍒专栏:算法修炼之练气篇(Python版)

博主的其他文章:点击进入博主的主页​​​​​​

前言:Python是一门很重要的语言,不管如何我们都要去了解和使用它,次专栏目的为了打牢小白蒟蒻们的Python基础,适合第一天刚开始学习Python的蒟蒻们来学习练习观看。一共三十篇分为练气一层到十层(初期,中期,后期)三十篇完后进入筑基期的修炼。筑基期可学习更深层次的人工智能方面的(机器学习和深入学习),人工智能离不开Python所以大家想走人工智能,深入学习,机器学习,图像处理,数据挖掘的蒟蒻们,基础打起来,习题连起来。跟着命运之光冲就完事了,每周更新两篇,敬请期待。

题目描述

判断一个数是否为"水仙花数",所谓"水仙花数"是指这样的一个数:首先是一个三位数,其次,其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=3^3+7^3+1^3.

输入格式

一个三位数

输出格式

1或者0(1代表此数为水仙花数,0代表此数不是水仙花数)

样例输入

371

样例输出

1

 题解

# 从用户输入中读取一行,并将其存储在变量 `num` 中
num = input()

# 将字符串类型的 `num` 转换为整数类型,并检查是否等于各个位数上的数字立方和
if int(num) == int(num[0])**3 + int(num[1])**3 + int(num[2])**3:
    # 如果输入的数字满足水仙花数的条件,就打印输出 1
    print(1)
else:
    # 如果输入的数字不满足水仙花数的条件,则打印输出 0
    print(0)

代码逐步解释

这段代码是一个简单的 Python 程序,用于判断一个三位数是否为水仙花数。下面是对代码的详细解析:

  1. num = input()
    • 这一行代码从用户输入中读取一行,并将其存储在变量 num 中。
  2. if int(num) == int(num[0])**3 + int(num[1])**3 + int(num[2])**3:
    • 这一行代码使用条件判断语句,检查输入的数字是否等于各个位数上的数字立方和。
    • int(num) 将输入的字符串转换为整数类型。
    • int(num[0])int(num[1])int(num[2]) 分别表示输入数字的百位、十位和个位上的数字。
    • ** 运算符表示乘方操作,x**3 表示将 x 的立方作为结果。
  3. print(1)
    • 如果输入的数字满足水仙花数的条件,就打印输出 1。
  4. else:
    • 如果输入的数字不满足水仙花数的条件,则执行下面的代码块。
  5. print(0)
    • 打印输出 0,表示输入的数字不是水仙花数。

水仙花数是指一个 n 位正整数,它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

对于代码的具体使用方法,以下是一些基本的 Python 知识点解释:

  • input()input() 函数用于从用户获取输入。它会暂停程序的执行,等待用户输入,并将用户输入作为字符串返回。

  • int(num)int() 函数用于将字符串或浮点数转换为整数类型。

  • num[0]num[1]num[2]:这些表示字符串的索引操作,用于获取字符串中指定位置的字符。在这里,num[0] 表示字符串 num 的第一个字符,num[1] 表示第二个字符,以此类推。

  • **:乘方运算符,用于计算一个数的指数幂。例如,x**3 表示将 x 的立方作为结果。

  • print()print() 函数用于打印输出。在这里,它打印出判断结果(1 或 0)。

提交结果

结语

再接再厉,接着让我们来练下一题! 

这里浅浅说一下~我不小心写错的地方,大家可以看看,我当时没注意到。

下面这段代码错了,可以看看,哪里错了。

num=input()

if int(num)==int(num[0]**3+num[1]**3+int[2]**3):

    print(1)

else:

    print(0)

这块有问题

改正方法如下

🌌点击下方个人名片,交流会更方便哦~(欢迎到博主主页加入我们的 CodeCrafters联盟一起交流学习↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓    

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值