目录
语法
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,从而处理需要重复处理的相同任务,直到不满足给定条件时,才会结束循环。语法格式如下:
- while expression:
- statement(s)
编程代码构造后按相同数量的字符空间(空格,即 ' ')缩进的所有语句,均被视为单个代码块的一部分。Python 使用缩进作为分组语句的方法。
- count = 0
- while (count < 3):
- count = count + 1
- print("Hello world")
-
- '''
- 在这段代码中,我们使用 count 变量来跟踪循环执行的次数。循环将执行三次,每次执行时会将 count 值增加 1,
- 并打印出 “Hello world”。当 count 达到 3 时,循环条件不再满足,循环结束。
- '''
在 while 循环中使用 else 语句。正如上面所讨论的,while 循环执行块,直到一个条件得到满足。当条件变为 false 时,循环后面的语句就会被执行。
类似于条件判断语句 if else, 只有当你的 while 条件变为 false 时,else 子句才会被执行。如果你跳出了循环,或者出现了异常,它就不会被执行。其语法如下
- while condition:
- # execute these statements
- else:
- # execute these statements
-
- #例如:
-
- count = 0
- while (count < 3):
- count = count + 1
- print("Hello world")
- else:
- print("ai")
-
-
- '''
- 当循环开始的时,count小于3则加一,随后输出一次hello world ,当count为3的时候,不满足while循环,则会跳出循环,执行else,则打印ai!!
- '''
单语句 while 块,就像 if 块一样,如果 while 块由单个语句组成,我们可以在一行中声明整个循环,如下所示:
- count = 0
- while (count == 0): print("Hello World")
-
注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,条件始终是真实的,你必须强制终止编译器。
语法
for 循环用于顺序遍历。例如:遍历列表、字符串或数组等。在 Python 中,没有 C 语言风格的 for 循环,即 for(i=0; ifor...in... 循环,这与其他语言中的每个循环类似。让我们学习如何使用 for...in... 循环进行顺序遍历。其语法如下:
- for iterator_var in sequence:
- statements(s)
示例1
- #例如:
- n = 4
- for i in range(0, n):
- print(i)
-
- '''
- 这段 Python 代码使用了一个 for 循环来打印从 0 到 n-1 的数字,其中 n 的值为 4。在 range(0, n) 中,0 表示起始值,而 n 表示终止值(不包含 n)。
- '''
- 在Python中,`range`是一个用于生成数字序列的内置函数。它常用于循环结构,例如`for`循环。`range`函数有三个参数:起始值(start),终止值(stop),和步长(step)。
-
- 语法如下:
- ```python
- range(start, stop, step)
start:起始值,默认为0。stop:终止值,生成的序列不包含该值。step:步长,默认为1。range函数返回一个可迭代的序列,通常与for循环一起使用。如果只提供一个参数,它默认为终止值,起始值为0,步长为1。
例如:
- for i in range(5):
- print(i)
这将打印出从0到4的数字。
如果您有关于range函数或其他Python相关问题的进一步问题,请告诉我,我会乐意帮助您。
-
- **示例2**
-
- ```Python
- #list 列表
- print("List Iteration")
- l = ["apples", "for", "dogs"]
- for i in l:
- print(i)
-
- # tuple 元组
- print("\nTuple Iteration")
- t = ("apples", "for", "dogs")
- for i in t:
- print(i)
-
- # string 字符串
- print("\nString Iteration")
- s = "students"
- for i in s:
- print(i)
-
- # dict 字典
- dict_1 = dict()
- dict_1["abc"] = 123
- dict_1["xyz"] = 456
- for i in dict_1: print("%s %d" % (i, dict_1[i]))
我们可以通过 for 循环将序列(如列表(list)或集合(set))中的元素依次取出。
按序列的索引迭代
在 Python,我们也可以使用序列中元素的索引进行迭代。关键思想是首先计算列表的长度,然后在此长度范围内迭代序列,我们可以参考下面的示例,在这个例子中我们将通过方法 len() 来获取 list 的长度。
- list = ["123", "456", "789"]
- for index in range(len(list)):
- print(list[index])
-
- 输出:
- 123
- 456
- 789
-
在 for 循环中使用 else 语句:我们也可以将 else 语句与 for 循环结合使用,就像在 while 循环中一样。但是由于 for 循环中没有终止执行的条件,所以 else 块将在 for 块执行完毕后立即执行。下面的例子解释了如何做到这一点。
- list = ["123", "456", "789"]
- for index in range(len(list)):
- print(list[index])
- else:
- print("abc")
-
- 输出:
-
- 123
- 456
- 789
- abc
-
- 求和
-
- 描述
- 请从标准输入流(控制台)中获取一个正整数 n,并输出区间 [1,n] 内所有数的和。你可以使用不同的循环语句(for 或者 while)来实现这个题目。
-
- n = int(input())
-
- '''for循环
- num = 0
- for i in range(1,n+1):
- num = num + i
- print(num)
- '''
-
- '''数学公式
- print(int((1+n)*n/2))
- '''
-
语法
Python 编程语言允许在一个循环中使用另一个循环。下面的部分展示了几个例子来说明这个概念。
Python 编程语言中嵌套 for 循环语句的语法如下:
- for iterator_var in sequence:
- for iterator_var in sequence:
- statements(s)
- statements(s)
Python 编程语言中嵌套 while 循环语句的语法如下:
- while expression:
- while expression:
- statement(s)
- statement(s)
关于循环嵌套,最后需要注意的是,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for 循环可以在 while 循环中,反之亦然。
在下面的例子中,我们的目标是在第 1 行打印 1 个 1,第 2 行打印 2 个 2,第 3 行打印 3 个 3......以此类推。我们可以通过两个 for 循环嵌套来实现,其中外层 for 循环负责控制行数和打印的数字,内层 for 循环负责控制打印多少次。
- from __future__ import print_function
-
- # 外层循环,i 从 1 到 4(不包括 5)
- for i in range(1, 5):
- # 内层循环,j 从 0 到 i-1
- for j in range(i):
- # 打印 i,end=' ' 表示不换行,以空格结尾
- print(i, end=' ')
- # 内层循环结束后打印空行,换行显示下一行
- print()
-
- 输出:
- 1
- 2 2
- 3 3 3
- 4 4 4 4
-
- 打印九九乘法表
-
- 用 for 循环实现打印九九乘法表。
-
- '''
- for i in range(1, 10):
- for j in range(1, i+1):
- print(f"{j}*{i}={i*j}", end=" ")
- print("")
- '''
-
- for i in range(1, 10):
- for j in range(1, i+1):
- print(f"{j}*{i}={i*j}", end=" " if j<i else '\n')
-
- 输出:
- 1 * 1 = 1
- 1 * 2 = 22 * 2 = 4
- 1 * 3 = 32 * 3 = 63 * 3 = 9
- 1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16
- 1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25
- 1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36
- 1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49
- 1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64
- 1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 9 = 81
-
continue
语法
循环控制语句改变执行的正常顺序。当执行离开一个作用域时,在该作用域中创建的所有自动对象将被销毁。
Python 支持 continue 控制语句:它将控制返回到循环的开始,或者说是可以结束某一次的循环直接跳到执行下一次的循环。
在下面的例子中,我们通过 continue 跳过了对字符串中所有 'h' 和 'a' 的输出。
- for letter in 'hello world':
- if letter == 'l' or letter == 'o':
- continue
- print('Current Letter :', letter)
- var = 10
-
- 输出:
- Current Letter : h
- Current Letter : e
- Current Letter :
- Current Letter : w
- Current Letter : r
- Current Letter : d
-
break
语法
Python break 语句,就像在C语言中,打破了最小封闭 for 或 while 循环。
break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全递归完,也会停止执行循环语句。
break 语句用在 while 和 for 循环中。如果您使用嵌套循环,break 语句将停止执行最深层的循环,并开始执行下一行代码。其语法示例如下,在下面的例子中我们的程序将在循环到字符 'f' 或 'a' 时终止循环并输出前一个字符:
- for letter in 'World':
- if letter == 'a' or letter == 'f':
- break
- print('Hello :', letter)
-
- 输出:
- Hello : d
-
Pass 语句:我们使用 Pass 语句来写空循环。Pass 也用于空的控制语句、函数和类。
在下面的例子中,我们的程序会一直空转到最后一个字符。
- # An empty loop
- for letter in 'bash':
- pass
- print('Last Letter :', letter)
-
- 输出:
- Last Letter : h
-