Python教程-Python for 循环
Python 是一种强大且通用的预编程语言,旨在易于理解和执行。由于其开源性质,它可以自由访问。在本教程中,我们将学习如何使用 Python 的 for 循环,这是 Python 编程中最基本的循环指令之一。
Python 中的 for 循环简介
Python 经常使用循环来迭代可迭代对象,如列表、元组和字符串。循环是突出显示系列的最常见方法,当需要重复执行一段代码特定次数时,会使用 for 循环。for 循环通常用于可迭代的对象,例如列表或内置的 range 能力。在 Python 中,for 语句在每次遍历元素系列时运行代码块。另一方面,“while”循环用于在每次重复后验证条件或者在需要无限次重复一段代码时使用,与 for 循环相对。
for 循环的语法
for value in sequence:
{loop body}
value 是在每次迭代时用于确定可迭代序列中元素值的参数。当序列包含表达式语句时,它们会首先被处理。然后,将序列中的第一个元素分配给迭代变量 iterating_variable。从那时起,执行计划的块。在语句块中,每个序列中的元素都会被分配给 iterating_variable,直到整个序列完成。使用缩进将循环的内容与程序的其余部分区分开来。
Python for 循环的示例
代码
# Code to find the sum of squares of each element of the list using for loop
# creating the list of numbers
numbers = [3, 5, 23, 6, 5, 1, 2, 9, 8]
# initializing a variable that will store the sum
sum_ = 0
# using for loop to iterate over the list
for num in numbers:
sum_ = sum_ + num ** 2
print("The sum of squares is: ", sum_)
输出:
The sum of squares is: 774
range() 函数
由于“range”功能在 for 循环中出现得如此频繁,我们可能会错误地认为范围是 for 循环的语法的一部分。实际上不是这样的:它是一个内置的 Python 方法,满足了为 for 表达式提供要运行的系列的要求,通过遵循特定模式(通常是连续的整数)来实现。主要情况下,它们可以直接作用于序列,因此不需要计数。如果从具有不同循环语法的语言转移到 Python,这是一种典型的初学者构造:
代码
my_list = [3, 5, 6, 8, 4]
for iter_var in range( len( my_list ) ):
my_list.append(my_list[iter_var] + 2)
print( my_list )
输出:
[3, 5, 6, 8, 4, 5, 7, 8, 10, 6]
通过使用序列的索引进行迭代
另一种迭代每个项目的方法是在序列内使用索引偏移。这里是一个简单的示例:
代码
# Code to find the sum of squares of each element of the list using for loop
# creating the list of numbers
numbers = [3, 5, 23, 6, 5, 1, 2, 9, 8]
# initializing a variable that will store the sum
sum_ = 0
# using for loop to iterate over list
for num in range( len(numbers) ):
sum_ = sum_ + numbers[num] ** 2
print("The sum of squares is: ", sum_)
输出:
The sum of squares is: 774
len() 在这种方法中以一种计算列表或元组中项目总数的方式工作,隐含的能力 range() 返回用于迭代的具体序列,这在这里是有帮助的。
在 for 循环中使用 else 语句
在 Python 中,可以将循环表达式和 else 表达式连接起来。
在循环完成对列表的遍历后,else 子句与 for 循环组合在一起。
以下示例演示了如何通过将 for 表达式与 else 语句结合来从记录中提取学生的分数。
代码
# code to print marks of a student from the record
student_name_1 = 'Itika'
student_name_2 = 'Parker'
# Creating a dictionary of records of the students
records = {'Itika': 90, 'Arshia': 92, 'Peter': 46}
def marks( student_name ):
for a_student in record: # for loop will iterate over the keys of the dictionary
if a_student == student_name:
return records[ a_student ]
break
else:
return f'There is no student of name {student_name} in the records'
# giving the function marks() name of two students
print( f"Marks of {student_name_1} are: ", marks( student_name_1 ) )
print( f"Marks of {student_name_2} are: ", marks( student_name_2 ) )
输出:
Marks of Itika are: 90
Marks of Parker are: There is no student of name Parker in the records
嵌套循环
如果我们有一段需要多次运行的内容,然后在该脚本内有另一段我们需要多次运行的内容,我们就使用“嵌套循环”。在与可迭代对象(如列表)一起工作时,Python 广泛使用这些。
代码
import random
numbers = [ ]
for val in range(0, 11):
numbers.append( random.randint( 0, 11 ) )
for num in range( 0, 11 ):
for i in numbers:
if num == i:
print( num, end = " " )
输出:
0 2 4 5 6 7 8 8 9 10