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


    博主:命运之光

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

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

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

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

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

    目录

    题目描述

    输入格式

    输出格式

    样例输入

    样例输出

     题解

    代码逐步解释

    提交结果

    结语

     


    题目描述

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

    输入格式

    输出格式

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

    样例输入

    样例输出

     题解

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

    代码逐步解释

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

    1. num = 100
      • 这一行代码初始化变量 num 的值为 100。
    2. while num < 1000:
      • 这一行代码使用 while 循环,循环条件为 num < 1000,即当 num 的值小于 1000 时执行循环体内的代码。
    3. 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 的立方作为结果。
    4. print(num)
      • 如果当前的 num 是水仙花数,则打印输出 num
    5. num += 1
      • 每次循环结束后,将 num 的值加 1。
    6. else:
      • 如果当前的 num 不是水仙花数,则执行下面的代码块。
    7. num += 1
      • 将 num 的值加 1。
    8. 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 语句用于跳过当前循环中的剩余语句,并开始下一次循环。

    提交结果

    结语

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

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

  • 相关阅读:
    kylin使用心得
    编译perf
    errno perror stderr 的关系
    900ES1-0100 honeywell 可减少视觉引导应用的整体开发时间
    【学习笔记】CF708E Student‘s Camp
    2022科大讯飞AI开发者大赛,来了!
    在 SQL Server 中,可以使用内置函数 NEWID() 来生成一个随机的 GUID(全局唯一标识符)。可以将此 GUID 作为字符串拼接到查询结果中。
    logback 集成 logstash
    Nacos 注册中心、配置文件中心的常用配置(springcloud)
    c++学习 之 强制类型转换
  • 原文地址:https://blog.csdn.net/VLOKL/article/details/134046062