当前位置: 首页 > 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联盟一起交流学习↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓    

相关文章:

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

✨博主&#xff1a;命运之光 &#x1f984;专栏&#xff1a;算法修炼之练气篇&#xff08;C\C版&#xff09; &#x1f353;专栏&#xff1a;算法修炼之筑基篇&#xff08;C\C版&#xff09; &#x1f352;专栏&#xff1a;算法修炼之练气篇&#xff08;Python版&#xff09; ✨…...

sheng的学习笔记-【中】【吴恩达课后测验】Course 3 - 结构化机器学习项目 - 第二周测验

课程3_第2周_测验题 目录&#xff1a;目录 要解决的问题 ① 为了帮助你练习机器学习的策略&#xff0c;本周我们将介绍另一个场景&#xff0c;并询问你将如何行动。 ② 我们认为这个在机器学习项目中工作的“模拟器”将给出一个任务&#xff0c;即领导一个机器学习项目可能…...

基于Pytorch的驾驶员分心行为实时检测

本文使用深度学习和Pytorch(PyTorch 2.0.1\Torchvision 0.15.2)实时检测驾驶员的分心行为,并附录完整代码。 检测分心驾驶是现代汽车中最重要的功能之一。无论是自动驾驶汽车还是其它高端汽车,都配备了驾驶员监控系统,以持续跟踪驾驶员的行为。这对确保驾驶员保持目光在道路…...

【uniapp】小程序开发7:自定义组件、自动注册组件

一、自定义轮播图组件、自动注册 以首页轮播图组件为例。 1、创建组件文件src/components/my-swipper.vue 代码如下&#xff1a; <template><view><view class"uni-margin-wrap"><swiper class"swiper" circular :indicator-dots…...

Modbus转MQTT以太网网关MQT-802主要特点和典型应用

随着社会的快速发展&#xff0c;物联网已经潜移默化地深入工控行业的各个领域&#xff0c;其高效的资源整合和强大的数据采集能力&#xff0c;深受客户的喜爱。上海泗博为实现客户在云端平台接收处理世界万物的信息以及实现远程控制&#xff0c;精心打造一款全新物联网产品&…...

Go学习第五章——函数与包

Go学习第五章——函数与包 1 函数1.1 基本语法1.2 函数多返回值1.3 函数的可见性和包级函数1.4 函数调用机制底层原理1.5 值类型和引用类型1.6 注意事项和细节1.7 逃逸机制&#xff08;补&#xff0c;可不看&#xff09; 2 包2.1 快速入门2.2 包的使用细节 3 函数详细讲解3.1 递…...

【Python 常用脚本及命令系列 5 -- 如何使用 BeautifulSoup 解析CSDN网页表格中的数据】

文章目录 Python BeautifulSoup 介绍CSDN 网页表格解析开发问题总结 Python BeautifulSoup 介绍 BeautifulSoup是一个Python库&#xff0c;用于解析HTML和XML文档。它常常用于网络爬虫来提取网页中的信息。 以下是BeautifulSoup的一些主要特性&#xff1a; 解析HTML&#xff…...

OpenFeign实现分析、源码解析

什么是openfeign? 是springcloud全家桶的组件之一&#xff0c;其核心作用是为Rest API提供高效简洁的rpc调用方式。 为什么只定义接口而没有实现类&#xff1f; 源码解读&#xff08;省略&#xff09; 总结&#xff1a; 源码分析&#xff1a;如何发送http请求&#xff1f; …...

2023 10月最新Vmd 下载安装教程,WindowsLinux

文章目录 下载Vmdwindows版本安装LINUX版本安装 下载Vmd 谷歌搜索VMD 点击左下角download VMD 可选择对应版本 注&#xff1a;点击后会出现输入用户名和密码&#xff0c;由于我已注册&#xff0c;界面不见了&#xff0c;所以直接描述一下。 输入用户名和密码然后会出现让登记…...

Photoshop(PS)安装教程(图文教程超详细)

目录 一.简介 二.安装步骤 软件&#xff1a;PS版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;3.20G系统要求&#xff1a;Win10&#xff08;1903&#xff09;及以上版本&#xff0c;64位操作系统硬件要求&#xff1a;CPU2.0GHz 内存8G(或更高&#xff0c;不支…...

C++模版进阶

一、非类型模版参数 之前学习的模版&#xff0c;参数一般是某种类型&#xff0c;但其实非类型的参数也可以定义在模版里面&#xff0c;但也有一定的限制&#xff0c;只可以定义整形家族的参数&#xff0c;而且具有常量性 注意&#xff1a; 1. 浮点数、类对象以及字符串是不允…...

CloudCompare

CloudCompare 源码编译Windows 功能格式转换 源码编译 Windows 源码编译出来的默认基本不带几个插件&#xff0c;包括保存为 .las 的功能 可以直接从 https://www.danielgm.net/cc/ 下载编译好的版本&#xff0c;插件比较多。也有免安装版本 cmake -B build -S . -G "Vi…...

【算法小课堂】深入理解前缀和算法

前缀和是指某序列的前n项和&#xff0c;可以把它理解为数学上的数列的前n项和&#xff0c;而差分可以看成前缀和的逆运算。合理的使用前缀和与差分&#xff0c;可以将某些复杂的问题简单化。 我们通过一个例子来理解前缀和算法的优势&#xff1a; 一维前缀和&#xff1a; ww…...

元对象系统功能

元对象系统功能 建立工程 布局页面 布局页面 修改原件名称 建立元对象 函数作为接口 增加一些固定的属性 #------------------------------------------------- # # Project created by QtCreator 2023-10-24T21:54:44 # #----------------------------…...

【2024秋招】小米中间件后端开发一面2023-9-13-base武汉

1 自我介绍 2 快手实习 2.1 讲讲你写的curd启动器&#xff0c;做了哪些工作呢 答&#xff1a; 2.2 网上也有一些开源的curd代码生成器&#xff0c;你为什么需要自研呢&#xff08;重要&#xff09; 答&#xff1a; &#xff08;1&#xff09;这个必须得自研&#xff0c;因…...

SpringMVC Day 01:入门案例

前言 在我们的日常工作和学习中&#xff0c;Web 开发是一个无法回避的重要环节。而在 Java Web 开发领域&#xff0c;SpringMVC 无疑是一个重量级选手。它以其灵活性、强大功能和清晰的 MVC 结构&#xff0c;赢得了大量开发者的青睐。但是&#xff0c;对于初学者来说&#xff…...

docker、docker-compose安装教程,很详细

docker、docker-compose安装教程&#xff0c;很详细 一、卸载旧版1、查看有没有安装过旧版2、停止docker3、删除安装过docker的相关包4、删除docker相关的镜像和容器 二、docker安装1、设置阿里云镜像2、查看所有docker3、安装最新版本4、安装指定版本 三、使用前准备1、启动do…...

源代码转换:Tangible Software Solutions 23.10 Crack

Tangible Software Solutions The Most Accurate and Reliable Source Code Converters Convert between C#, Java, C, Python, & VB, while saving countless hours of painstaking work and valuable time.源代码转换 Key Benefits Saves valuable time Accurate and com…...

SAD notes

ESKF 总结 prediction 更新误差先验 F F F通过3.42来算 得到 这里有点绕的一点是: 误差状态的 F F F牵涉到名义状态, 而名义状态又需要在时间上推进更新 其中, F中的名义状态的推进通过公式3.41得到, (名义状态不考虑误差, 这一点从3.41d, 3.41e可以看出, 误差状态只考虑…...

[SQL开发笔记]BETWEEN操作符:选取介于两个值之间的数据范围内的值

一、功能描述&#xff1a; BETWEEN操作符&#xff1a;选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 二、BETWEEN操作符语法详解&#xff1a; BETWEEN操作符语法&#xff1a; SELECT column1, column2,…FROM table_nameWHERE column BETWEEN val…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...