(Python) 循环。带计数器的循环 - for


循环

想象一下我们需要显示单词“Hello”的情况。 10倍。我们该怎么办?
您可以执行 10 次命令 print("Hello") <前> 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”) 打印(“你好”)
但是,如果您不需要 10 次,而是 20、30、40 次怎么办?如果200次呢?在这种情况下,复制将花费很长时间。如果需要用户自己选择需要在屏幕上显示多少次信息? 

一个特殊的构造将帮助我们处理这个任务, 这叫做循环。
 
循环 - 是一种算法构造,其中特定的命令序列被重复多次。< /分区>
在大多数编程语言中,有两种类型的循环:带变量的循环 (for) 和带条件的循环 (while)
让我们从第一种类型开始认识循环。
 

使用变量或已知步数循环(循环for

经常发生的情况是,我们知道任何动作的重复次数,或者我们可以使用我们已知的数据来计算重复次数。一些编程语言有一个命令是用俄语写的命令
重复(number_of_repetitions)

在这种情况下,我们可以指定特定的重复次数。 
有趣的是看看这个循环在机器级别是如何工作的:
1、在内存中分配一定的内存单元,并写入重复次数,
2. 当程序执行一次循环体时,这个单元格(计数器)的内容减一。
3.当这个单元格为零时,循环执行结束。

Python 中没有这样的结构,但是有一个for
  <分区>
需要记住!
for 循环运算符的一般形式如下: <前> 对于 <计数变量>;在<计数器变量的值>中:     #循环体
1. 计数器变量的名称可以是任何东西(更多时候他们使用字母 i
2. 循环体相对于带有循环头 (for) 的行向右移动。 PEP8 标准移动 4 个空格。
 
让我们看看如何将单词“Hello”的输出写成示例。 10次​​。
 
示例 1
<前> for i in range(10): # 变量 i 在范围内可变 (in range)   # 0 到 10(不包括 10) print("你好") # 打印你好   变量是循环的已完成迭代(步骤)的计数器。在这种情况下,循环运行 i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9。正好是 10 次。
同一个程序可以有不同的写法。
 
例子2
<前> 对于 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 中的 i: 打印(“你好”) 在示例2中,我们列出了我们需要循环的变量i的所有值。对于大量的值,使用内置函数更方便 range()。
 range() 函数构建的值序列是有限的。循环总会结束。 

for

循环的特点 如何改变值序列中的步骤而不是从头开始?  range() 函数默认构建一个序列,其中每个下一个数字都比前一个数字大 1。您可以在另一个条目中使用 range 函数。

函数入口的一般形式如下: <前> 范围([开始], 停止[, 步骤])
  • start:序列的起始编号。
  • stop:生成不超过给定数字的数字。
  • step:序列中每个数的差(step)
<分区>

你要记住!
  • 所有参数必须是整数:
  • 每个参数都可以是正数或负数。
  • range()(和一般的 Python)基于索引 0。 这意味着索引列表从 0 开始,而不是 1。 函数生成的最后一个整数  range() 取决于 stop 但不会包含它。例如, range(0, 5) 生成整数 0、1、2、3、4,不包括 5。


示例 1
<前> 对于范围 (10, 0, -1) 中的 i: 打印(我*我) 程序按降序显示10到1的自然数的平方
  • 10:序列中的第一个数字。
  • 0:序列的结束编号(不包括该编号)。
  • -1:步骤


例2
<前> 对于范围 (0, 101, 5) 中的 i: 打印(i) 该程序以 5 为增量显示从 0 到 100 的所有数字
  • 0:序列中的第一个数字。
  • 101:序列的结束编号(不包括该编号)。
  • 5:步骤

重复N次

到目前为止,我们编写的所有带有for 循环的程序都不能称为通用的。因为我们自己设定了循环体的重复次数。 
但是,如果重复次数取决于其他值怎么办?比如用户自己想设置循环的重复次数。
这种情况怎么办?
一切都很简单。我们可以使用任何可以由用户计算或设置的变量,而不是数字开始值和结束值。

例如,我们需要显示从1N的数字的平方,其中变量N的值是通过键盘输入的用户。
该程序将如下所示: <前> N = int(input()) # 从键盘输入 N for i in range(1, N+1): # 循环:for all i from 1 to N  - variable i # 会依次取值从1到N   print("square", i, "=", i*i)  #打印一个数的平方 进入循环时,执行赋值语句i = 1,然后变量i每步递增1(i += 1)。当条件 i <= N 为真时执行循环。在循环体中,唯一的输出语句根据指定格式在屏幕上打印数字本身及其正方形。
对于平方或其他低指数,最好使用乘法。

运行程序并查看变量 N 的不同值的运行结果。