python 控制流-循环
什么是循环
- 循环语句允许我们执行一个语句或语句组多次
- python提供了for循环和while循环
循环的作用
- 封装重复操作
- Python最重要的基础语法之一
for-in循环
- 使用场景:
- 明确的知道循环执行的次数或者要对一个容器进行迭代(后面会讲到)
- range
- range(101)可以产生一个0到100的整数序列。
- range(1, 100)可以产生一个1到99的整数序列。
- range(1, 100, 2)可以产生一个1到99的奇数序列,其中的2是步长。
#使用for 循环遍历列表中的元素
for i in [1,2,3]:
print(i)
#输出结果为
1
2
3
#for 循环结合 range函数
for i in range(1, 10, 2):
print(i)
#输出结果为
1
3
5
7
9
while 循环
- 满足条件,进入循环
- 需要设定好循环结束条件
@startuml
start
-
while (是否满足进入循环条件)
-
满足循环条件执行的内容;
endwhile -
如果没有满足循环条件直接执行的内容;
stop
@enduml
a=1
while a<6:
print(a)
a = a+1
#输出结果为
1
2
3
4
5
break-跳出整个循环体
list_demo = [ 1, 2, 3, 4, 5, 6]
#循环遍历列表
for i in list_demo:
#如果i 等于三,那么跳出整个for循环
#不再打印后面的4、5、6
print(i)
if i == 3:
break
#输出结果为
1
2
3
continue:跳出当前轮次循环
示例1:
#while循环
count = 0
#while循环条件,满足条件执行循环体内代码
while count<5:
#count 变量+1,否则会进入死循环
print(count)
if count == 3:
# 为了与3区分,如果==3的情况下count = count+1.5
count += 1.5
continue
count += 1
#输出结果为
0
1
2
3
4.5
示例2:
list_b = [1,2,3,4,5]
for i in list_b:
if i ==3:
continue
print(i)
#输出结果为跳过3
1
2
4
5
pass
- pass:
- 没有实质性含义,通常占位使用
- 不影响代码的执行逻辑
print(“hogwarts”)
pass
print(“school”)
for 循环-实例
- 计算1~100 求和
- 使用分支结构实现1~100之间的偶数求和
- 不使用分支结构实现1~100之间的偶数求和
#使用分支结构实现1~100之间的偶数求和
sum=0
for i in range(1,101):
#对i取余,如果余数为0,则证明i为偶数
if i%2 == 0:
sum = sum + i
print(sum)
#不使用分支结构实现1~100之间的偶数求和
sum=0
for i in range(0,101,2):
sum=sum+i
print(sum)
while循环-实例
- 猜数字游戏
- 计算机出一个1~100之间的随机数由人来猜
- 计算机根据人猜的数字分别
- 给出提示大一点/小一点/猜对了
- 计算机产生的数字
import random
computer_num=random.randint(1,100)
print("computer_num",computer_num)
while True:
people_num=int(input("请输入数字:"))
if computer_num>people_num:
print("大一点")
elif computer_num<people_num:
print("小一点")
else:
print("猜对了")
break
random randint() 方法
random 随机 randint 兰丁特
Python random.randint() 方法返回指定范围内的整数。
randint(start, stop) 等价于 randrange(start, stop+1)。
语法
random.randint() 方法语法如下:
random.randint(start, stop)
参数说明:
- start
- stop
返回值
返回指定范围内的整数。
实例1:
以下实例返回一个 1 到 9 之间的数字(大于等于 1,小于等于 9 ):
#导入 random 包
import random
#返回一个 1 到 9 之间的数字
print(random.randint(1, 9))
输出结果:
8
课后练习
- 不使用分支结构实现1~100之间的奇数求和
- 使用while语句实现1~100之间的奇数求和
不使用分支结构实现1~100之间的奇数求和
sum=0
for i in range(1,101,2):
sum+=i
print(sum)
输出结果为:2500
使用while语句实现1~100之间的奇数求和
sum=0
for i in range(1,101,2):
while (i<101):
sum = sum + i
break
print(sum)
输出结果为:2500