1. 循环语法概述
循环语句在程序中是非常常用的,它可以重复执行一段代码,直到达到某个条件才停止。Python提供了两种循环语句:for循环和while循环。
1.1 for循环
for循环可以遍历任何序列的项目,例如一个列表或者一个字符串。for循环的基本语法如下:
for 变量 in 序列:
执行语句
其中,变量是从序列中取出的一个元素,执行语句是循环体,它会重复执行。
下面是一个for循环的简单示例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
该循环遍历了fruits这个列表中所有的元素,并分别将每个元素赋值给变量fruit,然后执行了一个打印语句,输出了每个元素的值。
除了遍历序列,for循环还可以和range()函数一起使用,来控制循环的次数。range()函数可以生成一个范围内的数字序列,其基本语法如下:
range(start, stop[, step])
其中,start表示序列起始值(可省略,默认为0),stop表示序列截止值(不包括该值),step表示序列间隔(可省略,默认为1)。
下面是一个使用range()函数的示例:
for i in range(1, 10, 2):
print(i)
该循环输出了从1到9的所有奇数。
1.2 while循环
while循环不像for循环那样遍历序列,而是重复执行一段代码,直到不再满足某个条件为止。while循环的基本语法如下:
while 判断条件:
执行语句
其中,判断条件是一个表达式,每次循环时都会判断一次,如果满足条件就执行循环体,否则退出循环。
下面是一个while循环的简单示例:
count = 0
while count < 5:
print(count)
count += 1
该循环重复执行了5次,每次输出count的值,然后将count加1,直到count不再小于5为止。
1.3 循环控制语句
在循环体内部,我们可以使用一些循环控制语句来控制循环的行为,包括break、continue和else。
1.3.1 break语句
break语句可以在循环体内部中断循环,即使循环条件仍然成立。下面是一个使用break语句的示例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
break
print(fruit)
该循环遍历了fruits这个列表中所有的元素,并使用了一个if语句来判断当前元素是否等于'banana',如果是,则执行break语句中断循环,否则输出当前元素的值。
1.3.2 continue语句
continue语句可以在循环体内部跳过当前迭代,进入下一个迭代。下面是一个使用continue语句的示例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
if fruit == 'banana':
continue
print(fruit)
该循环遍历了fruits这个列表中所有的元素,并使用了一个if语句来判断当前元素是否等于'banana',如果是,则跳过当前迭代,进入下一个迭代,否则输出当前元素的值。
1.3.3 else语句
else语句在循环体执行完毕之后执行,除非循环被break语句中断。下面是一个使用else语句的示例:
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
else:
print('Done!')
该循环遍历了fruits这个列表中所有的元素,并在循环体执行完毕之后输出了'Done!'。
2. 循环应用实例
2.1 猜数字游戏
猜数字游戏是一个非常简单的小游戏,可以使用while循环实现。下面是一个简单的实现示例:
import random
number = random.randint(1, 100)
guess = 0
while guess != number:
guess = int(input('Guess a number between 1 and 100: '))
if guess < number:
print('Too low!')
elif guess > number:
print('Too high!')
print('You win!')
该程序首先使用random模块生成一个1到100之间的随机整数,然后让玩家猜一个数字,如果猜错了,程序会根据猜的数字提示玩家继续猜,直到猜中为止。
2.2 计算平均数
计算平均数是一个常见的需求,可以使用for循环和while循环实现。下面是一个使用for循环的示例:
numbers = [1, 3, 5, 7, 9]
total = 0
count = 0
for number in numbers:
total += number
count += 1
average = total / count
print(average)
该程序首先定义了一个列表numbers,然后使用一个for循环遍历所有的元素,并累加每个元素的值和元素个数,最后计算出平均数并打印出来。
下面是一个使用while循环的示例:
numbers = [1, 3, 5, 7, 9]
total = 0
count = len(numbers)
i = 0
while i < count:
total += numbers[i]
i += 1
average = total / count
print(average)
该程序首先定义了一个列表numbers和一个变量count,然后使用一个while循环遍历所有的元素,并累加每个元素的值,最后计算出平均数并打印出来。
2.3 输出九九乘法表
九九乘法表是一个经典的小应用,可以使用两个嵌套的for循环来实现。下面是一个简单的实现示例:
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}\t'.format(j, i, i*j), end='')
print()
该程序使用两个嵌套的for循环,第一个for循环控制九九乘法表的行数,第二个for循环控制每行的列数,然后使用字符串格式化来输出每个乘法表达式,最后使用print()函数输出一行。
3. 总结
循环语句是Python中非常重要和常用的语法之一,它可以让程序重复执行一段代码,可以与条件语句、函数等其他语法一起使用,实现各种复杂的功能。掌握循环语句的使用方法和注意事项,对于提高编程效率和实现成功的项目都非常重要。