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

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

博主:命运之光

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

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

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

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

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

目录

题目描述

输入格式

输出格式

样例输入

样例输出

 题解

代码逐步解释

提交结果

结语

 


题目描述

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

输入格式

输出格式

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

样例输入

样例输出

 题解

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 本身,则输出 numprint(num)num += 1 # 将 num 的值加 1,继续下一次循环else:num += 1 # 将 num 的值加 1,继续下一次循环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联盟一起交流学习↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓    

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

相关文章:

  • sheng的学习笔记-【中】【吴恩达课后测验】Course 3 - 结构化机器学习项目 - 第二周测验
  • 基于Pytorch的驾驶员分心行为实时检测
  • 【uniapp】小程序开发7:自定义组件、自动注册组件
  • Modbus转MQTT以太网网关MQT-802主要特点和典型应用
  • Go学习第五章——函数与包
  • 【Python 常用脚本及命令系列 5 -- 如何使用 BeautifulSoup 解析CSDN网页表格中的数据】
  • OpenFeign实现分析、源码解析
  • 2023 10月最新Vmd 下载安装教程,WindowsLinux
  • Photoshop(PS)安装教程(图文教程超详细)
  • C++模版进阶
  • CloudCompare
  • 【算法小课堂】深入理解前缀和算法
  • 元对象系统功能
  • 【2024秋招】小米中间件后端开发一面2023-9-13-base武汉
  • SpringMVC Day 01:入门案例
  • docker、docker-compose安装教程,很详细
  • 源代码转换:Tangible Software Solutions 23.10 Crack
  • SAD notes
  • [SQL开发笔记]BETWEEN操作符:选取介于两个值之间的数据范围内的值
  • Babylonjs学习笔记(三)——创建天空盒
  • 【计算机网络】文件传输协议FTP和SFTP
  • Python 编程语言的介绍
  • centos服务器搭建安装Gitlab教程使用教程
  • linux复习笔记02(小滴课堂)
  • AWVS漏洞扫描使用基础与介绍
  • Flink 维表关联
  • 阳光蟹场小程序的盈利模式与思考深度
  • 2-Java进阶知识总结-7-UDP-TCP
  • C++数据结构X篇_19_排序基本概念及冒泡排序(重点是核心代码,冒泡是稳定的排序)
  • 工作:三菱伺服驱动器连接参数及其电机钢性参数配置与调整