前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >题目 1120: C语言训练-“水仙花数“问题2python详解)——练气三层后期

题目 1120: C语言训练-“水仙花数“问题2python详解)——练气三层后期

作者头像
命运之光
发布2024-03-20 13:33:43
1540
发布2024-03-20 13:33:43
举报
文章被收录于专栏:我在本科期间写的文章

题目描述

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

输入格式

输出格式

输出所有的"水仙花数"(从小到大的顺序输出,一行一个)

样例输入

代码语言:javascript
复制

样例输出

代码语言:javascript
复制

题解

代码语言:javascript
复制
num = 100 # 初始化变量 num 的值为 100
while num < 1000: # 当 num 小于 1000 时执行循环体内的代码
    if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
        # 如果 num 的百位、十位和个位上的数字立方和等于 num 本身,则输出 num
        print(num)
        num += 1 # 将 num 的值加 1,继续下一次循环
    else:
        num += 1 # 将 num 的值加 1,继续下一次循环
        continue # 跳过当前循环中的剩余语句,并开始下一次循环

代码逐步解释

这段代码是一个简单的 Python 程序,用于查找所有的水仙花数并输出。下面是对代码的详细解析:

代码语言:javascript
复制
num = 100
  • 这一行代码初始化变量 num 的值为 100。
代码语言:javascript
复制
while num < 1000:
  • 这一行代码使用 while 循环,循环条件为 num < 1000,即当 num 的值小于 1000 时执行循环体内的代码。
代码语言:javascript
复制
if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
  • 这一行代码使用条件判断语句,检查当前的 num 是否等于各个位数上的数字立方和。
  • str(num) 将整数类型的 num 转换为字符串类型。
  • int(str(num)[0])int(str(num)[1])int(str(num)[2]) 分别表示 num 的百位、十位和个位上的数字。
  • ** 运算符表示乘方操作,x**3 表示将 x 的立方作为结果。
代码语言:javascript
复制
print(num)
  • 如果当前的 num 是水仙花数,则打印输出 num
代码语言:javascript
复制
num += 1
  • 每次循环结束后,将 num 的值加 1。
代码语言:javascript
复制
else:
  • 如果当前的 num 不是水仙花数,则执行下面的代码块。
代码语言:javascript
复制
num += 1
  • num 的值加 1。
代码语言:javascript
复制
continue
  • continue 语句用于跳过当前循环中的剩余语句,并开始下一次循环。

因此,这段代码的作用是:从 100 到 999 的所有三位数中,找出所有的水仙花数并输出。

以下是对代码中每行语句的解释:

  • num = 100
    • 该行代码初始化变量 num 的值为 100。
  • while num < 1000:
    • 这一行代码使用 while 循环,循环条件为 num < 1000,即当 num 的值小于 1000 时执行循环体内的代码。
  • if num == int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3:
    • 这一行代码使用条件判断语句,检查当前的 num 是否等于各个位数上的数字立方和。
    • str(num) 将整数类型的 num 转换为字符串类型。
    • int(str(num)[0])int(str(num)[1])int(str(num)[2]) 分别表示 num 的百位、十位和个位上的数字。
    • ** 运算符表示乘方操作,x**3 表示将 x 的立方作为结果。
  • print(num)
    • 如果当前的 num 是水仙花数,则打印输出 num
  • num += 1
    • 每次循环结束后,将 num 的值加 1。
  • else:
    • 如果当前的 num 不是水仙花数,则执行下面的代码块。
  • num += 1
    • num 的值加 1。
  • continue
    • continue 语句用于跳过当前循环中的剩余语句,并开始下一次循环。

以下是一些 Python 基础知识点的解释:

  • while 循环:while 循环用于重复执行一段代码,直到指定的条件不再满足为止。循环条件通常是一个布尔表达式,如果该表达式的值为 True,则执行循环体内的代码,否则跳出循环。
  • 条件判断语句:Python 中的条件判断语句包括 ifelifelse。它们用于根据不同的条件执行不同的代码。如果条件成立,则执行 ifelif 后面的代码块;否则执行 else 后面的代码块。
  • 字符串类型:字符串是一种 Python 数据类型,用于表示文本。在 Python 中,字符串可以用单引号或双引号括起来。例如,'hello'"world" 都是字符串。
  • 字符串索引操作:字符串可以看作是字符的序列,每个字符都有一个对应的位置。在 Python 中,可以使用方括号 [] 来获取字符串中指定位置的字符。例如,s[0] 表示字符串 s 的第一个字符,s[1] 表示第二个字符,以此类推。
  • int() 函数:int() 函数用于将字符串或浮点数转换为整数类型。例如,int('123') 的结果为整数 123。
  • print() 函数:print() 函数用于打印输出。它可以接受多个参数,用逗号分隔。例如,print('hello', 'world') 将同时打印出字符串 'hello''world'
  • += 运算符:+= 运算符用于将左侧操作数的值加上右侧操作数的值,并将结果赋值给左侧操作数。例如,a += 1 等价于 a = a + 1
  • continue 语句:continue 语句用于跳过当前循环中的剩余语句,并开始下一次循环。

提交结果

结语

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述
  • 输入格式
  • 输出格式
  • 样例输入
  • 样例输出
  • 题解
  • 代码逐步解释
  • 提交结果
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档