”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Python 循环 1

Python 循环 1

发布于2024-08-01
浏览:836

Python Loops 1

嘿大家!本周我又带着新的 Python 课程回来了。本周我们将学习循环。在任何编程语言中,循环都是非常重要的主题。通过理解循环,您将能够在几秒钟内完成乏味且耗时的工作。由此可见循环是多么的重要。那么让我们深入探讨一下。

为什么需要循环?
让我们尝试理解有问题的循环。假设你是班级的课代表,教授让你负责从数据库中找出班级的平均成绩。
现在你们班有 30 名学生。所以数据库中有30个等级。现在,我们假设成绩作为列表存储在单个变量中。 (稍后我们将详细讨论“列表”)
现在手动找出平均成绩肯定需要很长时间。所以在这种情况下,循环就发挥了作用。循环将允许您在短时间内执行这项繁琐的任务。

那么什么是循环呢?

Python 循环是一种控制结构,只要满足指定条件或针对序列中的每个项目,就会重复执行代码块。

简单来说,循环可以帮助我们执行重复的任务。

根据这个定义,Python循环有两种类型。
1) For循环
2)While循环

For 循环:
我们使用 for 循环来迭代序列中的每个元素(字符串、列表、元组、字典等)。循环将从序列的索引 0 开始,一直运行到该序列的最后一项。

for items in sequence:
    repetitive work or block of statements

让我们使用for循环来解决问题

#Here are our grades of 30 students
grades = [85, 92, 78, 88, 91, 76, 95, 89, 83, 77,
          90, 82, 84, 79, 87, 93, 81, 80, 86, 94,
          75, 88, 85, 92, 78, 89, 77, 84, 91, 76]


sum=0
for item in grades:
    sum=sum item

average=sum/len(grades)

print(average)

首先,我们有一个名为 sum 的变量,我们将在其中存储所有成绩的总和。然后我们有一个 for 循环。循环将从索引 0 项开始直到最后一项。在每次迭代中,它将把每个项目添加到总和中。在这个 for 循环块之外,我们将通过将总和除以分数来计算平均值(len 函数告诉我们列表中有多少项 - 稍后会详细介绍)。

While 循环

在while循环中,只要条件为真,循环就会迭代代码块。一旦条件为假,循环就会停止。

while condition is true:
    do something repeatedly

让我们使用 while 循环解决同样的问题:

grades = [85, 92, 78, 88, 91, 76, 95, 89, 83, 77,
          90, 82, 84, 79, 87, 93, 81, 80, 86, 94,
          75, 88, 85, 92, 78, 89, 77, 84, 91, 76]

sum = 0
index = 0

while index 



注意:在此解决方案中,您可能会注意到一些我们之前没有解释过的功能。我们将在列表课程中简要讨论这些内容。

因此,在此解决方案中,我们在 sum 旁边声明了一个新的变量索引。索引变量帮助我们访问成绩列表中的项目,这些项目在每个循环中都会递增(索引=1)。在 while 循环中,条件是只要索引小于成绩列表中的项目数,循环就会运行并计算总和。 Grades[index] 允许我们访问列表中的项目,这称为索引。其余代码与for循环的解决方案类似。

这将是 Python 循环第 1 部分的结束。在下一部分中,我们将详细讨论循环。

概括:

  • Python 循环是一种有助于重复任务的结构
  • For 循环将迭代序列中的每个元素(字符串、列表、元组、字典等)
  • 只要条件为真,While 循环就会迭代。

练习题
这是 20 个数字的列表:
num_list=[100, 82, 96, 4, 44, 27, 13, 45, 96, 21, 26, 71, 22, 19, 57, 69, 97, 34, 21, 92]

计算给定列表中所有偶数的平均值。

解决 For 和 While 循环的这个问题,并在评论中分享你的答案。快乐编码!

版本声明 本文转载于:https://dev.to/coderanger08/python-loops-1-5dho?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 在JavaScript中如何并发运行异步操作并正确处理错误?
    在JavaScript中如何并发运行异步操作并正确处理错误?
    同意操作execution 在执行asynchronous操作时,相关的代码段落会遇到一个问题,当执行asynchronous操作:此实现在启动下一个操作之前依次等待每个操作的完成。要启用并发执行,需要进行修改的方法。 第一个解决方案试图通过获得每个操作的承诺来解决此问题,然后单独等待它们: co...
    编程 发布于2025-05-15
  • 编译器报错“usr/bin/ld: cannot find -l”解决方法
    编译器报错“usr/bin/ld: cannot find -l”解决方法
    错误:“ usr/bin/ld:找不到-l “ 此错误表明链接器在链接您的可执行文件时无法找到指定的库。为了解决此问题,我们将深入研究如何指定库路径并将链接引导到正确位置的详细信息。添加库搜索路径的一个可能的原因是,此错误是您的makefile中缺少库搜索路径。要解决它,您可以在链接器命令中添加...
    编程 发布于2025-05-15
  • PHP阵列键值异常:了解07和08的好奇情况
    PHP阵列键值异常:了解07和08的好奇情况
    PHP数组键值问题,使用07&08 在给定数月的数组中,键值07和08呈现令人困惑的行为时,就会出现一个不寻常的问题。运行print_r($月份)返回意外结果:键“ 07”丢失,而键“ 08”分配给了9月的值。此问题源于PHP对领先零的解释。当一个数字带有0(例如07或08)的前缀时,PHP将...
    编程 发布于2025-05-15
  • Go语言垃圾回收如何处理切片内存?
    Go语言垃圾回收如何处理切片内存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片时,了解垃圾收集行为至关重要,以避免潜在的内存泄...
    编程 发布于2025-05-15
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-05-15
  • 在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    在Java中使用for-to-loop和迭代器进行收集遍历之间是否存在性能差异?
    For Each Loop vs. Iterator: Efficiency in Collection TraversalIntroductionWhen traversing a collection in Java, the choice arises between using a for-...
    编程 发布于2025-05-15
  • 如何有效地选择熊猫数据框中的列?
    如何有效地选择熊猫数据框中的列?
    在处理数据操作任务时,在Pandas DataFrames 中选择列时,选择特定列的必要条件是必要的。在Pandas中,选择列的各种选项。选项1:使用列名 如果已知列索引,请使用ILOC函数选择它们。请注意,python索引基于零。 df1 = df.iloc [:,0:2]#使用索引0和1 c...
    编程 发布于2025-05-15
  • 如何在无序集合中为元组实现通用哈希功能?
    如何在无序集合中为元组实现通用哈希功能?
    在未订购的集合中的元素要纠正此问题,一种方法是手动为特定元组类型定义哈希函数,例如: template template template 。 struct std :: hash { size_t operator()(std :: tuple const&tuple)const {...
    编程 发布于2025-05-15
  • Java为何无法创建泛型数组?
    Java为何无法创建泛型数组?
    通用阵列创建错误 arrayList [2]; JAVA报告了“通用数组创建”错误。为什么不允许这样做?答案:Create an Auxiliary Class:public static ArrayList<myObject>[] a = new ArrayList<myO...
    编程 发布于2025-05-15
  • 如何将来自三个MySQL表的数据组合到新表中?
    如何将来自三个MySQL表的数据组合到新表中?
    mysql:从三个表和列的新表创建新表 答案:为了实现这一目标,您可以利用一个3-way Join。 选择p。*,d.content作为年龄 来自人为p的人 加入d.person_id = p.id上的d的详细信息 加入T.Id = d.detail_id的分类法 其中t.taxonomy =...
    编程 发布于2025-05-15
  • 如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    Transform Pandas DataFrame Column to DateTime FormatScenario:Data within a Pandas DataFrame often exists in various formats, including strings.使用时间数据时...
    编程 发布于2025-05-15
  • 如何使用组在MySQL中旋转数据?
    如何使用组在MySQL中旋转数据?
    在关系数据库中使用mySQL组使用mySQL组进行查询结果,在关系数据库中使用MySQL组,转移数据的数据是指重新排列的行和列的重排以增强数据可视化。在这里,我们面对一个共同的挑战:使用组的组将数据从基于行的基于列的转换为基于列。 Let's consider the following ...
    编程 发布于2025-05-15
  • 查找当前执行JavaScript的脚本元素方法
    查找当前执行JavaScript的脚本元素方法
    如何引用当前执行脚本的脚本元素在某些方案中理解问题在某些方案中,开发人员可能需要将其他脚本动态加载其他脚本。但是,如果Head Element尚未完全渲染,则使用document.getElementsbytagname('head')[0] .appendChild(v)的常规方...
    编程 发布于2025-05-15
  • `console.log`显示修改后对象值异常的原因
    `console.log`显示修改后对象值异常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    编程 发布于2025-05-15
  • CSS强类型语言解析
    CSS强类型语言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    编程 发布于2025-05-15

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3