Python学习从0到1 day8 Python循环语句

发布时间:2024年01月24日

我相信有些友情不会被时间打败,但我也知道,我们没有办法像从前一样常常相聚,时常联系,所以我想让你知道,我希望你过的很好,像你的照片一样好,我希望你很顺利,像你曾经在我面前憧憬的那样,往前跑的时候,千万别回头,但如果你很需要有人陪你说话,别忘了我永远在这里,永远是你的兄弟

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ?——致我的朋友

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 24.1.24

一、while循环语句

1.while循环的语法格式:

while? 条件:

? ? ? ? 条件满足时,做的事情1

? ? ? ? 条件满足时,做的事情2

? ? ? ? 条件满足时,做的事情3

? ? ? ? ? ? ? ? ……省略……

2.引例

# 演示while循环的基础英语应用
i = 0
while i < 100:
    print("一切都会好的" )
    i=i+1

3.while循环注意点

①while的条件需要得到布尔类型,True表示继续循环,False表示结束循环

②需要设置循环终止的条件,如i += 1配合i < 100,就能确保100次后停止,否则将无限循环

③空格缩进和if判断一样,都需要设置,以确定层次之间的关系

4.练习案例:求1-100的和

通过while循环,计算1累加到100的和

sum = 0
i = 1
while(i<=100):
    sum =sum + i
    i=i+1
print(f'1-100累加的和为:{sum}')

5.猜数字案例

设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数

????????无限次机会,直到猜中为止

????????每一次猜不中,会提示大了还是小了

????????猜完数字后,提示猜了几次

随机数可以使用:

? ? ? ? import random

? ? ? ? num = random.randint(1,100)

# 设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
import random
result = random.randint(1,100)
i=1
while True:
   num = int(input(f'请您猜一个数字,这是第{i}次猜测\n'))
   i+=1
   if result == num:
       print("恭喜您,猜中了")
       break
   elif result > num:
        print("猜小了")
   else:
       print("猜大了")

6.while嵌套循环

1.引例:

小明要给小美表白,小明坚持一百天并且每天都送10朵花,小美就会和小明在一起

i = 1
while i <= 100:
    print(f"今天是第{i}天,准备去表白")
    j = 1
    while j <= 10:
        print(f"送出了第{j}朵玫瑰花")
        j += 1
    print("小美,我喜欢你")
    i+=1
print(f"坚持{i-1}天,表白成功")

2.while循环的嵌套——注意点

同判断语句的嵌套一样,循环语句的嵌套,要注意空格的缩进

? ? ? ? 基于空格缩进来决定层次关系

注意条件的设置,避免出现无限循环(除非真的需要无限循环)

3.总结

1.嵌套循环的语法格式:

? ? ? ? while 条件1:

? ? ? ? ? ? ? ? 条件1满足时,做的事情1

? ? ? ? ? ? ? ? 条件1满足时,做的事情2

? ? ? ? ? ? ? ? 条件1满足时,做的事情3

? ? ? ? ? ? ? ? 条件1满足时,…省略…

? ? ? ? ? ? ? ? while条件2:

? ? ? ? ? ? ? ? ? ? ? ? 条件2满足时,做的事情1

? ? ? ? ? ? ? ? ? ? ? ? 条件2满足时,做的事情2

? ? ? ? ? ? ? ? ? ? ? ? 条件2满足时,做的事情1

? ? ? ? ? ? ? ? ? ? ? ? 条件2满足时,…省略…

2.嵌套循环需要注意的地方:

? ? ? ? 注意条件的控制,避免无限循环

? ? ? ? 多层嵌套,主要空格缩进来确定层次关系

3.嵌套循环的使用难点:

? ? ? ? 循环条件的控制,层次越多越复杂

7.while嵌套循环案例——打印九九乘法表

补充知识:print输出不换行

print("xxx",end='')

print("zzz",end='')

输出:xxxzzz

补充知识:制表符\t

效果等同于在键盘上按上Tab,有一个Tab的缩进,它可以让我们的字符在多行间对齐

1.控制行的循环:i <= 9

2.控制每一行输出的循环:j <= i

i=1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{i} * {j} = {i * j}\t",end='')
        j += 1
    print()
    i+=1

二、for循环基本语法

1.for循环与while循环区别:

? ? ? ? while循环的循环条件是自定义的,自行控制循环条件

? ? ? ? for循环是一种“轮询”机制,是对一批内容进行“逐个处理”

2.for循环语法

for 临时变量 in 待处理数据集:

? ? ? ? 循环满足条件时执行的代码

3.遍历字符串

for循环是将字符串的内容:依次取出

所以,for循环也被称之为:遍历循环

future = "一切都会好的,我一直相信"
for i in future:
    print(i)

4.for循环注意点:

for 变量 in 待处理的数据集(序列)

同while循环不同,for循环是无法定义循环条件

所以只能从被处理的数据集中,依次取出内容进行处理

所以,理论上讲,python的for循环无法构建无限循环(被处理的数据不可能无限大)

5.练习案例:数一数有几个a

定义字符串变量name,内容为:“itheima is a brand of itcast”

通过for循环,遍历此字符串,统计有多少个英文字母:"a"

提示:

? ? ? ? ①计数可以在循环外定义一个整数类型遍历用来做累加计数

? ? ? ? ②判断是否为字母”a“,可以通过if语句结合比较运算符来完成

name = "itheima is a brand of itcast"
num = 0
for i in name:
    if i == 'a':
        num += 1
print(f"name字符串中有{num}个英文字母a")

6.range语句

for循环语句,本质上是遍历:序列类型

尽管除字符串外,其他的序列类型目前没学习到,但是不妨碍我们通过学习range语句,获得一个简单的数字序列

语法1:

range(num)

获取一个从0开始,到num结束的数字类型(不含num本身)

如range(5)取得的数据是:{0,1,2,3,4}

语法2:

range(num1,num2)

获得一个从num1开始,到num2结束的数字序列(不含num2本身)

如,range(5,10)取得的数据是:[5,6,7,8,9]

语法3:

range(num1,num2,step)

获得一个从num1开始,到num2结束的数字序列,不含(num2本身)

数字之间的步长(间距),以step为准(step默认为1)

如,range(5,10,2)取得的数据是;[5,7,9]

for i in range(9):
    print(i)
print("*********")
for j in range(6,9):
    print(j)
print("*********")
for k in range(1,9,3):
    print(k)

7.练习案例:有几个偶数

定义一个数字变量num,内容随意

并使用range()语句,获取从1到num的序列,使用for循环遍历它

在遍历的过程中,统计有多少偶数出现

提示:

? ? ? ? 1.序列可以使用:range(1,num)得到

? ? ? ? 2.偶数通过if来判断,判断数字余2是否为0即可

num = 114
count = 0
for i in range(1,num):
    if i % 2 == 0:
        count+=1
print(f"一共有{count}个偶数")

8.for循环临时变量作用域

①for循环内的临时变量,其作用域限定为:

? ? ? ? 循环内

②这种限定:

? ? ? ? 是编程规范的限定,而非强制限定

? ? ? ? 不遵守也能正常运行,但是不建议这样做

? ? ? ? 如需访问临时变量,可以预先在循环外定义它

i = 0
for i in range(5):
    print(i)
print(i)

9.for循环的嵌套应用

每天都去向小美表白,直到成功为止

每次表白的流程是:送10朵玫瑰然后表白

1.for循环的嵌套语法:

for 临时变量 in 待处理数据集(序列):

? ? ? ? 循环满足条件应做的事情1

? ? ? ? 循环满足条件应做的事情2

? ? ? ? 循环满足条件应做的事情n

? ? ? ? …………

? ? ? ? for 临时变量 in 待处理数据集(序列):

? ? ? ? ? ? ? ? 循环满足条件应做的事情1

? ? ? ? ? ? ? ? 循环满足条件应做的事情2

? ? ? ? ? ? ? ? 循环满足条件应做的事情n

? ? ? ? ? ? ? ? …………

2.案例

小明要给小美表白,小明坚持一百天并且每天都送10朵花,小美就会和小明在一起

for i in range(1,101):
    print(f"今天是表白的第{i}天")
    for j in range(1,11):
        print(f"送了第P{j}朵花")
print("表白成功")

3.嵌套循环的嵌套注意点

????????需要注意缩进,嵌套for循环同样通过缩进确定层次关系

? ? ? ? for循环和while循环可以相互嵌套使用

4.练习案例——for循环打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{i} * {j} = {i * j}\t",end="")
    print()

三、循环中断:break和continue

python提供continue和break关键字

用以对循环进行临时跳过直接结束

1.continue

continue关键字用于:中断本次循环,直接进入下一次循环

continue可以用于:for循环和while循环,效果一致

2.break

break关键字用于:直接结束(整体)循环

break可以用于:for循环和while循环,效果一致

3.注意事项

continue和break,在for和while循环中作用一致

在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

四、综合案例

练习案例——发工资

某公司,账户余额有1W元,给20名员工发工资

员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元

领工资时,财务判断员工的绩效分1-10(随机生成),如果低于5,不发工资,换下一位

如果工资发完了,结束发工资

提示:

? ? ? ? 使用循环对员工依次发放工资

? ? ? ? continue用于跳过员工,break直接结束发工资

? ? ? ? 随机数可以用:import random?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?num = random randint(1,10)

person = 0
for i in range(1,21):
    print(f"这是{i}号员工")
    import random
    grade = random.randint(1,11)
    if grade < 5:
        print("您的绩效不达标,不发工资")
        continue
    else:
        if person > 10:
            print("没钱了,下个月再领吧")
            break;
        else:
            print("领到1000")
            person += 1


文章来源:https://blog.csdn.net/m0_73983707/article/details/135813385
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。