循环:
作用:将事物循环执行
思考:假如张三有个⼥朋友,有⼀天他们闹⽭盾⽣⽓了,⼥朋友说:道歉,说10遍“媳妇⼉,我错了”。这个时候程序员会怎么做?
答:10遍 print('媳妇⼉,我错了')
思考:复制粘贴10次吗?
答:重复执⾏10次⼀样的代码,程序中循环即可
循环的分类:
python提供了for循环和while循环
| 循环类型 | 描述 |
|---|---|
| while | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
| for | 重复执行语句 |
循环控制语句:
| 控制语句 | 描述 |
|---|---|
| break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
| continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
| pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |
while循环:
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务
语法:
while 判断语句:
执行代码
while True:
执行语句
# 死循环
实例:
①.输出100次媳妇,我错了
times = 1
while times <= 10:
print("媳妇儿,我错了")
tuimes += 1
②.计算1-100的和
number=1
result = 0
while number <=100:
result +=number
number +=1
print(f"1到100的和为:{result}")
③.计算1到100中偶数的和
number = 1
result = 0
while number <=100:
if number % 2==0:
result += number
number += 1
print(f"1到100的和为:{result}")
或
number = 0
result = 0
while number <= 100:
result += number
number +=2
print(f"1到100的和为:{result}")
break 和 continue 语句:
案例: 有10辆汽车需要刷漆,一辆一辆刷,就相当于循环过程
break: 当刷到第5辆,完成了当天的任务,刷漆的动作就要停止,这⾥就是break控制循环流程,即终⽌此循环
continue: 我拿的是马自达的油漆,结果第6辆车是劳斯劳斯,所以直接跳过这辆,继续刷马自达,这⾥就是continue控制循环流程,即退出当前⼀次循环继⽽执⾏下⼀次循环代码
应用一:刷漆-break
car_numbers = 1
while car_numbers <=10:
if car_numbers == 5:
print("完成了今天的任务")
break
print(f"今天刷了{car_numbers}辆车")
car_numbers += 1
应用二:刷漆-continue
car_number1 = 1
while car_number1 <= 10:
if car_number1 == 6:
print(f"第{car_number1}辆车碰到劳斯莱斯了,跳过")
car_number1 += 1
print(f"今天刷了{car_number1}辆车!")
car_number1 += 1
while 嵌套:
同if嵌套一样,在while循环内在加入循环。
思考:和⼥朋友闹⽭盾⽣⽓了,⼥朋友说:道歉,说10遍“媳妇⼉,我错了”,还不够,还要做家务,而且持续三天,这个程序该怎么写?
代码:
day = 1
while day <= 3:
print(f"媳妇儿,我错了!!!这是我做家务的第{day}天。")
times = 1
while times <= 10:
print(f"媳妇我错了,第{times}次道歉")
times += 1
day += 1
练习:
用while循环成功输出:1-100,素数的和 (结果:1060)
# 方法一:
number = 1
result = 0
while number <= 100: # 将1到100的数字打印出来
number1 = 2
while number1 <= number: # 内嵌循环,判断素数
if number == 2: # 2单独列出来,是素数中唯一的偶数
result = 2
# print(number)
if number % number1 == 0: # 判断,如果number能整除number,则不是素数,break跳出循环
break
else: # 不能整除
# number1 += 1
if number1 == number - 1: # 判断最后一次number1的值是否为number-1只,有当最后的number1为number-1时
# print(number) # 才能判断出number是否对2到number1内数都做了除法,且都不能整除,只有满足这个条件才能判断是否为素数
result += number # 对素数进行求和
number1 += 1
number += 1
print("1 到 100 内的素数的和为: ", result)
# 方法二:
number = 2
result = 0
while number <= 100:
number1 = 2
while number1 < number:
if number % number1 == 0:
break
number1 += 1
else:
result += number
number += 1
print("1 到 100 内的素数的和为: ",result)
#方法三
result = 0
number = 1 # 通过while循环实现range(1,100)的功能
while number <= 100:
number1 = 0 # 统计公因数个数
number2 = 1 # 通过while循环,实现range(1,number)的功能
while number2 <= number:
if number % number2 == 0:
number1 += 1
number2 += 1
if number1 == 2:
result += number
number += 1
print(f"1到100内的素数和为:{result}")