前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day11- 循环语句

day11- 循环语句

作者头像
似小陈吖
发布2024-03-12 11:36:02
940
发布2024-03-12 11:36:02
举报
文章被收录于专栏:测试那些事测试那些事

Python循环顾名思义就是重复执行某一操作,Python中循环包括while循环和for循环,while循环是通过条件判断来指定循环的范围,for循环采用遍历的形式指定循环范围。

并且Python还提供了breakcontinuepass关键字来控制循环流程

1、while循环语句

while循环很简单,当循环判断条件为真的,重复执行循环体代码,如果不满足循环判断条件,就跳出循环

代码语言:javascript
复制
while 循环判断条件:
   循环体代码

这块同样的:我们需要注意两个地方,冒号必须要有, 需要执行的循环体代码必须缩进,否则就会报错

小栗子1:重复打印5次字符串"你好"

思路:这里我们先分析,打印5次,需要循环执行5次代码,所以判断条件得满足5次,第6次不满足跳出循环,我们使用加法来解决,初始值=0,然后判断条件为小于5,循环体中会+1,满足值会有0,1,2,3,4;当等于5的时候不满足小于5,就会跳出循环,开始写代码

代码语言:javascript
复制
n = 0
while n < 5:
    print("你好")
    n += 1

小栗子2:已知密码password=123456,用户输入密码,密码如果不一致,继续请求用户输入密码,密码一致后退出,打印 "密码正确!"

思路:使用while循环判断输入的密码是否与已知密码一致,不一致执行循环体,一致退出循环体

代码语言:javascript
复制
password = "123456"

inpnt_password = input("请输入密码:")
while inpnt_password != password:
    inpnt_password = input("请输入密码:")
print("密码正确!")

还有个while-else语句,跳出循环的时候执行else后边的代码逻辑

2、for循环语句

for循环是迭代循环,可以用于遍历序列或可迭代对象,比如我们之前学的字符串,列表,元祖,字典

for循环可以遍历对象的所有成员,每个成员都执行一次循环体,所遍历的次数取决于序列的长度或可迭代对象中的元素个数。for循环由for与in搭配组成

代码语言:javascript
复制
for变量 in可迭代对象(序列):
    循环体

大概意思是in从可迭代对象取值,然后赋值给临时变量,然后执行一次循环体

遍历字符串

代码语言:javascript
复制
for i in 'python':
    print(i)

遍历列表

代码语言:javascript
复制
for i in ['apple', 'banana', 'cherry']:
    print(i)

遍历元祖

代码语言:javascript
复制
for i in ('1', '2', '4'):
    print(i)

遍历字典

这里要说一下,字典是键值对的形式,所以我们可以单独遍历键,值,和键值对

遍历字典的键:

代码语言:javascript
复制
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key in my_dict:
    print(key)

遍历字典的值:

代码语言:javascript
复制
my_dict = {'a': 1, 'b': 2, 'c': 3}
for value in my_dict.values():
    print(value)

遍历字典的键值对:

代码语言:javascript
复制
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key, value in my_dict.items():
    print(key, value)

这里其实用到了字典的keys()方法values()方法,items()方法

3、for循环中的次数

在上边我们知道,for循环的次数取决于所遍历的序列的长度或可迭代对象中的元素个数,而我们如果要确定for循环的次数,可以使用内置函数 len() 来获取序列的长度。

比如这个:

代码语言:javascript
复制
my_list = [1, 2, 3, 4, 5]
print("要循环的次数:", len(my_list))
for i in my_list:
    print(i)

这里我们知道了他会循环5次

4、for循环中的range函数

我们遍历数字序列的时候,会使用到python的内置函数range函数,并且他也会可以帮助我们指定循环次数

遵循左开右闭

代码语言:javascript
复制
range(start, stop, step)
  • start(可选):起始值,默认为0。生成的序列包含起始值。
  • stop:终止值。生成的序列不包含终止值。
  • step(可选):步长值,默认为1。每个相邻整数之间的间隔

range函数返回的是一个对象,不是具体的值,

如果我们想要取出值,可以与for循环结合使用:

代码语言:javascript
复制
for i in range(10):  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 从0开始有头无尾

for i in range(1,10,1)  # 1 2 3 4 5 6 7 8 9 设定开始,结束,步长

for i in range(1,10,2)  # 1 3 5 7 9   取10以内的奇数

range函数还可以快速生成列表

代码语言:javascript
复制
my_list = list(range(5))
print(my_list)    # range(5)生成一个从0到4的整数序列,list()函数将该序列转换为列表

5、while循环嵌套使用

在实际的使用过程中,我们还可以使用while循环嵌套使用,指的是一个while循环体外部再有一个循环体

比如我们每天早中晚说三次"你好",这个很简单

代码语言:javascript
复制
count = 0
while count < 3:
    print("你好")
    count += 1

现在我们有了新要求,每天说3次你好,连续说5天,这就需要我们再来一个循环5次

代码语言:javascript
复制
count = 0
day = 0
while day < 5:

    while count < 3:
        print("你好")
        count += 1
    day += 1
    print("-------------------")

发现打印出来,不是我们想要的,会打印3次你好,然后打印了5次分界线,这是什么问题,首先代码从上往下走,

day=0<5,所以执行下边的循环,count=0<3,输出你好,对应的count+1,直到count=3不在小于3,跳出循环,day=1,执行1次分界线,然后依次执行5次,所以我们发现内部循环就执行了1次

我们应该怎么做呢?可以将内循环初始参数放在外循环里 d = 0 while d < 5: count = 0 while count < 3: print("你好") count += 1 d += 1 print("-------------------")

6、for循环语句嵌套

同样的,for循环嵌套也是一个for循环外部嵌套着一个for循环

同样我们完成上边的例子:每天早中晚说三次"你好"

代码语言:javascript
复制
for i in range(3):
    print("你好")

然后连续说5天

代码语言:javascript
复制
for j in range(5):
    for i in range(3):
        print("你好")
    print("--------------")

使用for循环解决上边的问题,代码简洁很简单

tips:在我们使用循环嵌套的时候,不要上来写外部的循环,我们先完成内循环,然后在写外循环

7、break、continue、pass关键字

关键字

含义

break

终止循环。跳出循环体

continue

跳过当前循环迭代,继续执行下一次迭代,当前的循环体不会执行

pass

空语句,程序执行到此语句直接跳过,不会做任何的操作,仅作占位语句

我们来做几个小栗子

小栗子1:遍历数字1-10,当数字=5的时候,终止循环

代码语言:javascript
复制
for i in range(10):
    if i == 5:
        break
    print(i)
print("终止循环")

# 打印结果=5时就直接跳出了,不会输出5,打印结果:0,1,2,3,4

小栗子2:遍历数字1-10,当数字=5的时候,跳出循环,执行下次循环

代码语言:javascript
复制
for i in range(10):
    if i == 5:
        continue
    print(i)
print("跳出循环")

# 打印结果=5时就直接跳出了本次循环,不会输出5,然后接着下次循环,打印结果:0,1,2,3,4,6,7,8,9

小栗子3:遍历数字1-10,当数字=5的时候,先不做任何操作,之后在做处理

代码语言:javascript
复制
for i in range(10):
    if i == 5:
        # 待做操作
        pass
    print(i)

# pass只做空操作,什么也不做,起到占位符的作用

day11练习

初级:

1.while循环打印0-10,for循环打印0-10

2.while循环打印10-0,for循环打印10-0

3.for循环1-100,只打印奇数

4.for循环1-100,只打印偶数

中级:

1.打印出 1 到 10 的所有整数,但跳过数字 7

2.计算1-100的整数累加和

3.计算1-100的所有偶数和所有奇数的和

4.有字符串"hello,world",找出该字符串中出现次数最多的字符,并打印出该字符和出现的次数

高级

1.打印输出99乘法表

2.使用嵌套循环打印输出正方形

* * * * * * * * * * * * * * * *

3.使用嵌套循环打印输出三角形

* * * * * * * * * * * * * * *

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、while循环语句
  • 2、for循环语句
  • 3、for循环中的次数
  • 4、for循环中的range函数
  • 5、while循环嵌套使用
  • 6、for循环语句嵌套
  • 7、break、continue、pass关键字
  • day11练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档