python——循环(while)

134 阅读3分钟

循环:

作用:将事物循环执行

思考:假如张三有个⼥朋友,有⼀天他们闹⽭盾⽣⽓了,⼥朋友说:道歉,说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}")