Python循环语句学习

循环普遍存在于日常生活中,同样,在程序中,循环功能也是至关重要的基础功能。

while循环的基础语法

循环需要两个要素,条件和操作。

语法

while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ......
  • while 的条件需要得到布尔类型,True表示继续循环,False表示结束循环
  • 只要条件满足,循环就会一直进行。
  • 需要缩进4个空格

案例

i = 1
while i <= 100:
    print(f"我要坚持100天,今天第{i}天")
    i+=1

while循环的基础案例

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

  • 无限次机会,直到猜中为止
  • 每一次猜不中,会提示大了或小了
  • 猜完数字后,提示猜了几次
import random
num = random.randint(1,100)
count = 0
flag = True
while flag:
    guess = int(input("请输入你猜测的数字:"))
    count+=1
    if guess == num:
        print("恭喜你,猜测正确,你总共猜测了%d" % count)
        flag = False
    else:
        if guess > num:
            print("你猜的大了")
        else:
            print("你猜的小了")
print("猜数字游戏结束")

while循环的嵌套

循环内套循环

i = 1
while i<=100:
    print(f"今天是学习第{i}天,准备找工作")
    # 嵌套内部循环
    j = 1
    while j<=10:
        print(f"今天学习的第{j}个知识点")
        j += 1

    print("我一定可以成功的")
    i+=1

print(f"坚持到第{i}天,成功找到工作")

注意点

  • 同判断语句的嵌套一样,循环语句的嵌套需要注意空格缩进
  • 基于空格缩进来决定层次关系
  • 注意条件的设置,避免出现无限循环(除非真得需要无限循环)

while循环的嵌套案例

打印九九乘法表

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

for循环的基础语法

除了while循环语句外,python同样提供了for循环语句

两者能完成的功能基本差不多,但任有一些区别:

  • while循环的循环条件时自定义的,自行控制循环条件
  • for循环是一种轮询机制,是对一批内容进行逐个处理

基本语法

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

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

遍历字符串

# 定义字符串name
name = "my name is JinQingze"
# for 循环处理字符串
for x in name:
    # 将 name 的内容,挨个取出赋予 x 临时变量
    # 就可以在循环体内对 x 进行处理
    print(x)

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

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

注意点

同 while 循环不同,for循环时无法定义循环条件的。

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

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

练习

"""
 判断字符串中有多少个a
"""
name = "itheima is a brand of itcast"
count = 0
for x in name:
    if x == 'a':
        count += 1
        
print(f"{name}中共含有:{count}个字母a")

range语句

for 循环语法中待处理数据集,严格来说,称之为:序列类型

序列类型指,其内容可以一个个依次语出的一种类型 ,包括字符串、列表、元组等。

学习 range 语句,可以获得一个简单的数字序列

语法1

# 获取一个从0开始,到num结束的数字序列(不含num本身)
range(num)

语法2

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

语法3

# 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
# 数字之间的步长,以step为准(step默认为1)
range(num1,num2,step)

for循环变量作用域

在编程规范上,临时变量的作用范围只限定在for循环内部

如果for循环外部访问临时变量:

  • 实际上是可以访问到的。
  • 在编程规范上,是不允许、不建议这么做的。

for循环的嵌套应用

i = 0
for i in range(1, 101):
    print(f"今天是学习第{i}天,准备找工作")
    # 嵌套内部循环
    for j in range(1, 11):
        print(f"今天学习的第{j}个知识点")

    print("我一定可以成功的")

print(f"坚持到第{i}天,成功找到工作")

注意事项

  • 需要注意缩进,嵌套for循环同样通过缩进确定层次关系
  • for循环和while循环可以相互嵌套使用

循环中断:break和continue

无论是while或者是for循环,都是重复性的执行特定操作。

在这个重复的过程中,会出现一些其他情况让我们不得不暂时跳过某次循环,直接进行下一次,或者提前退出循环,不在继续。

对于这种场景 ,Python 提供 continue 和 break 关键字,泳衣对循环进行临时跳过和结束。

continue

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

可以用于for循环和while循环。

在嵌套使用中,也只会中断所在的一个循环

应用场景:在循环中,因某些原因,临时结束本次循环。

案例

for i in range(1,10):
    print("语句1")
    continue
    # 可见语句2没有执行
    print("语句2")

break

break关键字用于直接结束循环。

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

在嵌套使用中,也只会中断所在的一个循环

for i in range(1,10):
    print("语句1")
    # 运行了一遍语句1后直接结束循环,运行语句3
    break
    print("语句2")

print("语句3")

补充知识

print输出不换行

在print 语句中,加上end=‘’,即可输出不换行了。

print("Hello",end='')

制表符 \t

在字符串中,有一个特殊符号:\t ,效果等同于在键盘上按下:tab 键。

它可以让我们的多行字符串进行对其。

print("Hello \tWorld")
print("My name is \tJin Qingze")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值