题目 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 程序,用于查找所有的水仙花数并输出。下面是对代码的详细解析:
-
num = 100- 这一行代码初始化变量
num的值为 100。
- 这一行代码初始化变量
-
while num < 1000:- 这一行代码使用 while 循环,循环条件为
num < 1000,即当num的值小于 1000 时执行循环体内的代码。
- 这一行代码使用 while 循环,循环条件为
-
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。
- 将
-
continuecontinue语句用于跳过当前循环中的剩余语句,并开始下一次循环。
因此,这段代码的作用是:从 100 到 999 的所有三位数中,找出所有的水仙花数并输出。
以下是对代码中每行语句的解释:
-
num = 100- 该行代码初始化变量
num的值为 100。
- 该行代码初始化变量
-
while num < 1000:- 这一行代码使用 while 循环,循环条件为
num < 1000,即当num的值小于 1000 时执行循环体内的代码。
- 这一行代码使用 while 循环,循环条件为
-
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。
- 将
-
continuecontinue语句用于跳过当前循环中的剩余语句,并开始下一次循环。
以下是一些 Python 基础知识点的解释:
-
while循环:while循环用于重复执行一段代码,直到指定的条件不再满足为止。循环条件通常是一个布尔表达式,如果该表达式的值为True,则执行循环体内的代码,否则跳出循环。 -
条件判断语句:Python 中的条件判断语句包括
if、elif和else。它们用于根据不同的条件执行不同的代码。如果条件成立,则执行if或elif后面的代码块;否则执行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详解)——练气三层后期
✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🍒专栏:算法修炼之练气篇(Python版) ✨…...
sheng的学习笔记-【中】【吴恩达课后测验】Course 3 - 结构化机器学习项目 - 第二周测验
课程3_第2周_测验题 目录:目录 要解决的问题 ① 为了帮助你练习机器学习的策略,本周我们将介绍另一个场景,并询问你将如何行动。 ② 我们认为这个在机器学习项目中工作的“模拟器”将给出一个任务,即领导一个机器学习项目可能…...
基于Pytorch的驾驶员分心行为实时检测
本文使用深度学习和Pytorch(PyTorch 2.0.1\Torchvision 0.15.2)实时检测驾驶员的分心行为,并附录完整代码。 检测分心驾驶是现代汽车中最重要的功能之一。无论是自动驾驶汽车还是其它高端汽车,都配备了驾驶员监控系统,以持续跟踪驾驶员的行为。这对确保驾驶员保持目光在道路…...
【uniapp】小程序开发7:自定义组件、自动注册组件
一、自定义轮播图组件、自动注册 以首页轮播图组件为例。 1、创建组件文件src/components/my-swipper.vue 代码如下: <template><view><view class"uni-margin-wrap"><swiper class"swiper" circular :indicator-dots…...
Modbus转MQTT以太网网关MQT-802主要特点和典型应用
随着社会的快速发展,物联网已经潜移默化地深入工控行业的各个领域,其高效的资源整合和强大的数据采集能力,深受客户的喜爱。上海泗博为实现客户在云端平台接收处理世界万物的信息以及实现远程控制,精心打造一款全新物联网产品&…...
Go学习第五章——函数与包
Go学习第五章——函数与包 1 函数1.1 基本语法1.2 函数多返回值1.3 函数的可见性和包级函数1.4 函数调用机制底层原理1.5 值类型和引用类型1.6 注意事项和细节1.7 逃逸机制(补,可不看) 2 包2.1 快速入门2.2 包的使用细节 3 函数详细讲解3.1 递…...
【Python 常用脚本及命令系列 5 -- 如何使用 BeautifulSoup 解析CSDN网页表格中的数据】
文章目录 Python BeautifulSoup 介绍CSDN 网页表格解析开发问题总结 Python BeautifulSoup 介绍 BeautifulSoup是一个Python库,用于解析HTML和XML文档。它常常用于网络爬虫来提取网页中的信息。 以下是BeautifulSoup的一些主要特性: 解析HTMLÿ…...
OpenFeign实现分析、源码解析
什么是openfeign? 是springcloud全家桶的组件之一,其核心作用是为Rest API提供高效简洁的rpc调用方式。 为什么只定义接口而没有实现类? 源码解读(省略) 总结: 源码分析:如何发送http请求? …...
2023 10月最新Vmd 下载安装教程,WindowsLinux
文章目录 下载Vmdwindows版本安装LINUX版本安装 下载Vmd 谷歌搜索VMD 点击左下角download VMD 可选择对应版本 注:点击后会出现输入用户名和密码,由于我已注册,界面不见了,所以直接描述一下。 输入用户名和密码然后会出现让登记…...
Photoshop(PS)安装教程(图文教程超详细)
目录 一.简介 二.安装步骤 软件:PS版本:2023语言:简体中文大小:3.20G系统要求:Win10(1903)及以上版本,64位操作系统硬件要求:CPU2.0GHz 内存8G(或更高,不支…...
C++模版进阶
一、非类型模版参数 之前学习的模版,参数一般是某种类型,但其实非类型的参数也可以定义在模版里面,但也有一定的限制,只可以定义整形家族的参数,而且具有常量性 注意: 1. 浮点数、类对象以及字符串是不允…...
CloudCompare
CloudCompare 源码编译Windows 功能格式转换 源码编译 Windows 源码编译出来的默认基本不带几个插件,包括保存为 .las 的功能 可以直接从 https://www.danielgm.net/cc/ 下载编译好的版本,插件比较多。也有免安装版本 cmake -B build -S . -G "Vi…...
【算法小课堂】深入理解前缀和算法
前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和,而差分可以看成前缀和的逆运算。合理的使用前缀和与差分,可以将某些复杂的问题简单化。 我们通过一个例子来理解前缀和算法的优势: 一维前缀和: ww…...
元对象系统功能
元对象系统功能 建立工程 布局页面 布局页面 修改原件名称 建立元对象 函数作为接口 增加一些固定的属性 #------------------------------------------------- # # Project created by QtCreator 2023-10-24T21:54:44 # #----------------------------…...
【2024秋招】小米中间件后端开发一面2023-9-13-base武汉
1 自我介绍 2 快手实习 2.1 讲讲你写的curd启动器,做了哪些工作呢 答: 2.2 网上也有一些开源的curd代码生成器,你为什么需要自研呢(重要) 答: (1)这个必须得自研,因…...
SpringMVC Day 01:入门案例
前言 在我们的日常工作和学习中,Web 开发是一个无法回避的重要环节。而在 Java Web 开发领域,SpringMVC 无疑是一个重量级选手。它以其灵活性、强大功能和清晰的 MVC 结构,赢得了大量开发者的青睐。但是,对于初学者来说ÿ…...
docker、docker-compose安装教程,很详细
docker、docker-compose安装教程,很详细 一、卸载旧版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操作符:选取介于两个值之间的数据范围内的值
一、功能描述: BETWEEN操作符:选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 二、BETWEEN操作符语法详解: BETWEEN操作符语法: SELECT column1, column2,…FROM table_nameWHERE column BETWEEN val…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
算术操作符与类型转换:从基础到精通
目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...
