练习题:53

embedded/2025/2/26 12:40:47/

目录

Python题目

题目

题目分析

需求理解

关键知识点

实现思路分析

复杂度分析

可能遇到的问题及注意事项

代码实现

代码解释

运行思路

1. 变量初始化

2. 进入 while 循环

3. 执行循环体

4. 循环结束判断

5. 输出结果

结束语

Python题目

题目

使用while循环计算 1 到 100 的累加和。

题目分析

需求理解

本题要求使用 Python 的 while 循环来计算 1 到 100 所有整数的累加和。while 循环是 Python 中一种基本的循环结构,它会在给定条件为真时重复执行一段代码块,直到条件变为假为止。我们需要利用 while 循环,从 1 开始逐个累加整数,直到加到 100,最终得到这些整数的总和。

关键知识点

为了实现这个需求,需要掌握以下 Python 相关知识点:

  1. while 循环的语法while 循环的基本语法结构是 while 条件表达式: 循环体。在每次循环开始时,会先检查条件表达式的值,如果为 True,则执行循环体中的代码;执行完循环体后,会再次检查条件表达式,如此反复,直到条件表达式的值变为 False 时,循环结束。
  2. 变量的初始化和更新:在使用 while 循环进行累加计算时,需要初始化一个变量来存储累加的结果,以及一个变量来表示当前要累加的整数。在每次循环中,需要更新这两个变量的值,以便逐步完成累加过程。
  3. 累加操作:使用加法运算符 + 来实现整数的累加。每次将当前要累加的整数加到累加结果变量中。

实现思路分析

  1. 初始化变量:定义两个变量,一个用于存储累加的结果,初始值设为 0;另一个用于表示当前要累加的整数,初始值设为 1。
  2. 设置 while 循环条件:循环条件为当前要累加的整数小于等于 100。只要满足这个条件,就会继续执行循环体中的代码。
  3. 执行循环体:在循环体中,将当前要累加的整数加到累加结果变量中,然后将当前要累加的整数加 1,以便在下一次循环中累加下一个整数。
  4. 输出结果:当循环结束后,累加结果变量中存储的就是 1 到 100 的累加和,使用 print() 函数将结果输出。

复杂度分析

  • 时间复杂度while 循环需要从 1 遍历到 100,总共执行 100 次循环,因此时间复杂度为O(n),其中n=100。
  • 空间复杂度:只使用了两个额外的变量来存储累加结果和当前要累加的整数,因此空间复杂度为O(1)。

可能遇到的问题及注意事项

  • 循环条件的设置:确保循环条件正确,避免出现死循环(即循环条件始终为 True,导致循环无法结束)或循环次数不足的情况。
  • 变量的更新:在循环体中要正确更新变量的值,特别是当前要累加的整数,确保每次循环都能处理下一个整数。
  • 数据类型的一致性:确保参与累加操作的变量都是整数类型,避免出现数据类型不匹配的错误。

代码实现

# 初始化累加和为 0
sum_num = 0
# 初始化当前要累加的整数为 1
current_num = 1# 使用 while 循环进行累加
while current_num <= 100:# 将当前整数累加到总和中sum_num = sum_num + current_num# 当前整数加 1,准备累加下一个数current_num = current_num + 1# 输出 1 到 100 的累加和
print("1 到 100 的累加和是:", sum_num)

代码解释

  • 变量初始化

    • sum_num = 0:创建一个名为 sum_num 的变量,用于存储累加的结果,初始值设为 0。
    • current_num = 1:创建一个名为 current_num 的变量,用于表示当前要累加的整数,初始值设为 1。
  • while 循环部分

    • while current_num <= 100::设置循环条件,只要 current_num 小于等于 100,就会执行循环体中的代码。
    • sum_num = sum_num + current_num:在循环体中,将 current_num 的值累加到 sum_num 中。
    • current_num = current_num + 1:将 current_num 的值加 1,以便在下一次循环中累加下一个整数。
  • 输出结果

    • print("1 到 100 的累加和是:", sum_num):当循环结束后,sum_num 中存储的就是 1 到 100 的累加和,使用 print() 函数将结果输出。

运行思路

1. 变量初始化

sum_num = 0
current_num = 1
  • 当 Python 解释器开始执行代码时,首先会进行变量初始化操作。
  • sum_num = 0:在内存中创建一个名为 sum_num 的变量,并将其初始值设为 0。这个变量的作用是存储从 1 到 100 所有整数累加的结果。
  • current_num = 1:创建另一个名为 current_num 的变量,初始值设为 1。这个变量用于表示当前要进行累加操作的整数。

2. 进入 while 循环

while current_num <= 100:
  • 解释器遇到 while 语句时,会检查 current_num <= 100 这个条件表达式的值。
  • 由于此时 current_num 的值为 1,1 小于等于 100,条件表达式的值为 True,所以会进入循环体执行代码。

3. 执行循环体

sum_num = sum_num + current_num
current_num = current_num + 1
  • 第一次循环
    • sum_num = sum_num + current_num:此时 sum_num 为 0,current_num 为 1,执行加法运算 0 + 1,结果为 1,然后将 1 赋值给 sum_num,所以 sum_num 的值变为 1。
    • current_num = current_num + 1current_num 原本为 1,执行 1 + 1 后,current_num 的值变为 2。
  • 后续循环
    • 每次循环都会重复上述两个步骤。在每次循环中,将当前的 current_num 值累加到 sum_num 中,然后将 current_num 的值加 1。
    • 每次循环结束后,都会再次检查 current_num <= 100 这个条件。只要条件为 True,就会继续执行循环体;如果条件为 False,则会跳出循环。

4. 循环结束判断

  • 随着循环的不断执行,current_num 的值会逐渐增加。当 current_num 的值变为 101 时,再次检查 current_num <= 100 这个条件,此时条件表达式的值为 False
  • 由于条件为 False,解释器会跳出 while 循环,继续执行循环后面的代码。

5. 输出结果

print("1 到 100 的累加和是:", sum_num)
  • 此时 sum_num 中存储的就是 1 到 100 所有整数的累加和。
  • print() 函数会将字符串 "1 到 100 的累加和是:" 和 sum_num 的值组合成一个完整的字符串,并输出到控制台,让用户看到最终的计算结果。

综上所述,整个程序通过 while 循环不断累加从 1 到 100 的整数,最终得到累加和并输出,实现了预期的功能。

结束语

通过这次使用 while 循环计算 1 到 100 累加和的实践,你对 Python 的 while 循环结构有了更扎实的理解和掌握。从变量的初始化,到循环条件的设置,再到循环体的执行,每一步都让你深入体会到循环在解决重复性计算问题时的强大能力。

在未来的编程中,while 循环将是你处理各种重复性任务的有力工具,无论是数据的批量处理、算法的迭代计算,还是其他需要重复执行特定代码块的场景,都能发挥重要作用。你可以进一步探索 while 循环在不同复杂条件下的应用,比如结合 break 和 continue 语句来灵活控制循环流程。

编程是一个不断学习和积累的过程,每一次的实践都是一次成长的机会。希望你能保持对编程的热情,勇于挑战新的知识点,不断提升自己的编程技能。相信在不断的尝试和努力下,你一定能够在 Python 的编程世界中创造出更多精彩的作品!


http://www.ppmy.cn/embedded/167264.html

相关文章

单目摄像头物体深度计算基础原理

三维空间物体表面点位与其在图像中对应点之间的相互关系&#xff0c;必须建立相机成像的几何模型&#xff0c;这些几何模型参数就是相机参数&#xff0c;而相机参数的求解就是相机标定。 相机的参数矩阵包括内参和外参&#xff1a; 外参&#xff1a;决定现实坐标到摄像机坐标。…

python unzip file

要在 Python 中解压文件并显示进度&#xff0c;我们需要在解压过程中跟踪文件的提取进度。由于 zipfile 模块本身不直接支持进度显示&#xff0c;我们可以通过手动计算并使用 tqdm 库来显示进度条。 安装 tqdm 首先&#xff0c;确保你已经安装了 tqdm 库&#xff0c;用于显示…

MAC 安装Tensorflow简单方法

MacOS M1 pro安装tensorflow 1、环境配置&#xff08;必需&#xff09; PYTHON版本&#xff1a;3.11.0&#xff0c;python采用homebrew安装。&#xff08;已有python或更高版本可跳过&#xff0c;更高版本未经过测试&#xff0c;题主自认为可行&#xff09; brew install pyt…

将CUBE或3DL LUT转换为PNG图像

概述 在大部分情况下&#xff0c;LUT 文件通常为 CUBE 或 3DL 格式。但是我们在 OpenGL Shader 中使用的LUT&#xff0c;通常是图像格式的 LUT 文件。下面&#xff0c;我将教大家如何将这些文件转换为 PNG 图像格式。 条形LUT在线转换&#xff08;不是8x8网络&#xff09;&am…

DeepSeek 助力 Vue 开发:打造丝滑的滚动动画(Scroll Animations)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

1.2部署可视化工具es head:9100

ElasticSearch Head是集群管理、数据可视化、增删查改、查询语句可视化工具 1.下载插件 插件下载地址: https://github.com/mobz/elasticsearch-head node下载地址: wget https://registry.npmmirror.com/-/binary/node/latest-v14.x/node-v14.19.3-linux-x64.tar.gz 2.安装插…

【Qt】可爱的窗口关闭确认弹窗实现

文章目录 ​​​实现思路界面构建交互逻辑实现颜色渐变处理圆形部件绘制 代码在主窗口的构造函数中创建弹窗实例ExitConfirmDialog 类代码ColorCircleWidget 类代码 今天在Qt实现了这样一个可互动的窗口&#xff08;上图由于录屏工具限制没有录制到鼠标&#xff09; ​​​实现…

SmartMediakit之音视频直播技术的极致体验与广泛应用

引言 在数字化时代&#xff0c;音视频直播技术已经深入到各个行业和领域&#xff0c;成为信息传递和交流的重要手段。视沃科技自2015年成立以来&#xff0c;一直致力于为传统行业提供极致体验的音视频直播技术解决方案&#xff0c;其旗下的大牛直播SDK凭借强大的功能和卓越的性…