while循环用于多次重复一个代码块。
例如,假设我们需要处理多个用户输入,以便每次用户输入内容时,都执行相同的代码块。
下面是一个while循环,其中包含从1到5递增的变量,然后该循环终止。
i = 1
while i <= 5:
print(i)
i = i + 1
print("Finished")
在每次循环迭代期间,i变量将递增1,直到达到5。因此,循环将执行print语句5次。详情可以看下图。
while循环主体中的代码重复执行。我们把这种操作称为迭代。
值得注意的是:
您可以在while循环中使用多个语句。例如,您可以使用if语句进行决策。如果您要制作游戏并且需要遍历许多玩家动作并添加或删除玩家,则此功能会非常有用的。
For example:
x = 1
while x < 10:
if x % 2 == 0:
print(str(x) + "is even")
else:
print(str(x) + "is odd")
x += 1
str(x)用于将数字x转换为字符串,以便用于字符串的拼接。
Tips:在控制台中,可以使用Ctrl+C快捷键方式或关闭程序来停止程序的执行。
break
想要过早地结束while循环,可以使用break语句。例如,如果满足某些条件,我们可以打破无限循环。
For example:
i = 0
while True:
print(i)
i = i + 1
if i >= 5:
print("Breaking")
break
print("Finished")
while True是制作无限循环的简便方法。
continue
可以在循环内使用的另一条语句是continue。与break不同,continue跳回到循环的顶部,而不是停止循环。基本上,continue语句停止当前迭代并继续下一个迭代。
For example:
i = 0
while i <= 5:
i = i + 1
if i == 3:
print("Skiping 3")
continue
print(i)
continue应用场景举例:车票系统需要计算所有已购车票的总费用。1米以下的儿童不需要收费。我们可以使用while循环来遍历乘客列表并计算其机票的总费用。在这里,我们可以使用continue跳过孩子。
for循环
for循环用于遍历给定序列(例如列表或字符串)。
下面的代码输出列表中的每个项目,并在末尾添加一个感叹号:
For example:
words = ["hello", "world", "spam", "eggs"]
for word in words:
print(word + "!")
在上面的代码中,word变量表示循环的每次迭代中列表的相应项。
在第一次迭代中word == “hello”,而在第二次迭代中,word == “world”,以此类推。如下图:
for循环可用于遍历字符串:
For example:
str = "testing for loops"
count = 0
for x in str:
if x == "t":
count += 1
print(count)
上面的代码定义了一个count变量,遍历字符串并计算其中的“ t ”字母的数量。在每次迭代期间,x变量代表字符串的当前字母。
每当找到字母“ t ”时,count变量都会增加,因此,在循环结束时,它表示字符串中“ t ”个字母的数量。
Tips:与while循环类似,break和continue语句可以在for循环中使用,以停止循环或跳转到下一个迭代!!!
for VS while
- for和while循环均可以用于多次执行代码块。
- 当迭代次数固定时,通常使用for循环。例如:迭代购物清单中的固定商品清单。
- while循环用于不知道迭代次数且取决于循环代码块中的某些计算和条件的情况。例如:当用户在计算器程序中输入特定输入时结束循环。
range()
range()函数返回一个数字序列。
默认情况下,它从0开始,以1递增,并在指定数字之前停止。
下面的代码生成一个包含所有整数的列表,最大值为9。
For example:
numbers = list(range(10))
print(numbers) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
为了将range()产生的值输出为列表,我们需要使用list()函数将其显式转换为列表。
我们可以在range()函数中传递三个参数:
range()函数通常和for循环结合使用:
For example:
for i in range(5):
print("hello")
练一练
掌握了基础数据类型,选择和循环结构,来做几个小题试试吧:
1. 本段代码的运行结果为_________.
list = [1, 1, 2, 3, 5, 8, 13]
print(list[list[4]])
2. 本段代码的运行结果为_________.
letters = ['x', 'y', 'z']
letters.insert(1, 'w')
print(letters[2])
3. 求出0 – 100之间所有偶数,并存储到列表中打印在控制台上。
这里提供一种简单方法,一行搞定,希望你可以试试还有没有别的方法了!!!
print(list(range(0, 101, 2)))
写在最后
本节给大家介绍了Python语法中的循环的操作和使用。作为编程中最常用的概念,重要性不需要反复强调!!!勤能补拙是良训,希望大家还是动手做一做,有问题可以私信我,欢迎交流和提出您的宝贵意见。
转载请注明:XAMPP中文组官网 » python基础教程3:while循环控制结构