【python】Python基础语法详细教程以及案例教学之 while循环语句、while语句嵌套应用、for循环语句、for语句嵌套应用、循环中断

目录

 前言

一、while循环的基础语法

 1)什么是while语句?

 2)如何具体实现while语句?

二、while循环的基础案例

1)案例一:

 2)案例二:

三、while循环的嵌套应用

1)学习目标:

2)什么是while循环的嵌套

3)如何实现while嵌套?

四、while循环的嵌套案例

1)学习目标

2)补充知识

3)案例

五、for循环的基础语法

1)基础语法

1.遍历字符串:

2.案例:

2)range语句

语法1:

语法2:

语法3:

案例:

3)变量作用域

思考:

临时变量

六、for循环的嵌套应用

练习:

七、循环中断:break和continue

1)continue

2)break

八、综合案例


 前言

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

一、while循环的基础语法

 1)什么是while语句?

while语句有两个要素:条件和操作  ----  只要条件满足,就去做相应的操作,直到条件不满足,就跳出循环

只要条件满足,会无限循环执行,条件为布尔类型

 2)如何具体实现while语句?

示例:

# 循环语句
i = 0
while i < 100:
    print("拼搏百天,我要上北大!")
    i += 1

 往下滑,可以发现运行框有一百句 拼搏白天,我要上北大!

即可知 在符合条件的情况下,循环语句里的内容就会一直执行

需要注意:

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

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

3.空格缩进和if判断一样,都需要设置

二、while循环的基础案例

1)案例一:

# 求1-100的和
i = 1
num = 0
while i <= 100:
    num += i
    i += 1
print(f"1-100的和为{num}")

 2)案例二:

 

提示

 无限次机会,终止条件不适合用数字累加来判断

可以考虑布尔类型本身(True or False)

需要提示几次猜中,就需要提供数字累加功能

随机数可以使用:import random

                             num = random.randint(1-100)

# 思考一下思路,才可以看答案噢

import random
num = random.randint(1, 100)
count = 0
flag = True
while flag:
    guess_num = int(input("请输入你猜测的数字:"))
    if guess_num == num:
        print("猜对啦")
        flag = False
    else:
        if guess_num < num:
            print("猜的数字比实际数字小")
        else:
            print("猜的数字比实际数字大")
    count += 1
    print(f"一共猜测:{count}次")

 

三、while循环的嵌套应用

1)学习目标:

掌握while嵌套循环基本格式

完成while嵌套循环的应用

2)什么是while循环的嵌套

循环内套循环

3)如何实现while嵌套?

 示例:规定要坚持学习python100天,每天依次需要刷10道python编程题,规定完成100天后学习完毕

i = 1
while i <= 100:
    print(f"今天是学习python的第{i}天")
    j = 1
    while j <= 10:
        print(f"这是今天学习python刷的第{j}题")
        j += 1
    print("今天学习完规定的python的内容啦")
    i += 1

print(f"坚持到第{i-1}天,成功学习完python")

 需要注意:

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

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

四、while循环的嵌套案例

1)学习目标

掌握使用while嵌套循环,打印九九乘法表

2)补充知识

 

1.默认print语句输出内容会自动换行,如下示例:

print("Hello")
print("World")

#输出结果为:
Hello
World

在即将完成的案例中,我们需要使用print语句,输出不换行的功能,非常简单!

print("Hello", end='')
print("World", end='')

#输出结果
HelloWorld

2.制表符\t

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

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

print("Hello World")
print("itheima best")
print("Hello\tWorld")
print("itheima\tbest")

3)案例

思路:

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

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

3.每一行的被乘数都是i,乘数是j,print(j*i, end= ' ')

4.每一行对齐\t

代码:

# 定义外层循环
i = 1
while i <= 9:

    # 定义内层循环的控制变量
    j = 1
    while j <= i:
        # 内层循环的print语句,不要换行,并且通过\t 进行对齐
        print(f"{j} * {i} = {j * i}\t", end='')
        j += 1
    i += 1
    print() # print空内容 就是输出一个换行

 

五、for循环的基础语法

1)基础语法

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

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

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

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

while循环

 通俗而言:for循环就是将“待办事项逐个完成的循环机制

 生活中的for循环:

程序里的for循环:

从待处理数据集中,逐个取出数据赋值给临时变量

1.遍历字符串:
# 定义字符串name
name = "itheima"
# for循环处理字符串
for x in name:
# 对name的内容,挨个去除赋予x临时变量
# 就可以在循环体内对x进行处理
    print(x)

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

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

需要注意:

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

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

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

2.案例:

提示:

1.计数可以在循环外定义一个整数类型变量来做累加计数

2.判断是否为字母"a",可以通过if 语句结合比较运算符来完成

# 统计如下字符串,有多少个字母a
name = "itheima is a brand of itcast"
# 定义一个变量,用来统计有多少个a
count = 0
# for 循环统计
# for 临时变量 in 被统计的数据:
for x in name:
    if x == "a":
        count += 1
print(f"{name}中共含有:{count}个字母a")

 

 

2)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]

和while进行比较:

i = 1
while i <= 10:
    print("送玫瑰花")
    i += 1
    

for x in range(10):
    print("送玫瑰花")

# 由以上代码可知,在进行一个序列的处理时,for循环的效率更高
案例:

count = 0
for x in range(1, 100):
    if x % 2 == 0:
        count += 1

print(f"1到100(不含100本身)范围内,有{count}个偶数")

 

 

3)变量作用域

思考:
for i in range(5):
    print(i)
print(i)

如上代码,思考:第二个print语句,能否访问到变量?

回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量为什么是临时的

的呢?

临时变量

编程规范上,作用范围(作用域),只限定在for循环内部

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

实际上是可以访问到的

在编程规范上,是不允许、不建议这么做的

如果真的想要在for循环外部去访问i这个变量 ,应该怎么办呢?

很简单,只需要在for循环之前把i定义出来就好了

六、for循环的嵌套应用

程序中的嵌套for循环

 

for i in range(1, 101):
    print(f"今天是学习python的第{i}天")
    for j in range(1, 11):
        print(f"这是今天学习python刷的第{j}题")
    print(f"今天学习完规定的python的内容啦")

练习:

 

# 用for循环写九九乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j} * {i} = {j * i}\t", end='')
    print()

七、循环中断:break和continue

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

在这个重复的过程中,会出现一些其它情况让我们不得不:

暂时跳过某次循环,直接进行下一次

提前退出循环,不再继续

1)continue

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

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

for i in range(1, 100):
    语句1
    continue
    语句2

在循环内,遇到continue就结束当次循环,进行下一次

所以,语句2是不会执行的。

应用场景:

在循环中,因某些原因,临时结束本次循环

for i in range(5):
    print("ddd")
    continue
    print("bbb")

 

2)break

和continue不同,break语句是直接把循环结束了

for i in range(1, 101):
    print("语句1")
    break
    print("语句2")

print("语句3")

 所以这个循环不论还有多少次没有执行,遇到break就会跳出循环,直接结束所在的循环

八、综合案例

 

import random
wallet_money = 10000
for i in range(1, 21):
    print(f"目前领取的员工编号为{i}")
    performance = random.randint(1, 10)
    if performance < 5:
        print("sorry,您的绩效未达到标准,下个月继续加油噢!")
        continue
    elif wallet_money < 1000:
        print(f"sorry,余额不足啦,当前余额{wallet_money}")
        break
    else:
        print(f"员工{i}成功领取工资!,当前公司余额{wallet_money}元")
        wallet_money -= 1000

 ok,以上就是python中循环语句的基础语法知识啦,下一章节将会展开函数的学习,继续加油吧

一起愉快的学习python吧lol

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当然可以!以下是一个示例代码: ```python for i in range(3): print("i =", i) j = 0 while j < 2: print("j =", j) if i == 1 and j == 1: break j += 1 else: print("while loop finished without encountering a break statement") for k in range(2): print("k =", k) if i == 2 and k == 0: continue print("i * k =", i * k) else: print("for loop finished without encountering a break statement") ``` 这段代码中,我们使用了一个 `for` 循环来遍历 `range(3)` 中的元素,即 0, 1 和 2。在每次循环中,我们打印出当前的 `i` 值,并初始化 `j` 为 0。 然后,我们使用一个 `while` 循环来遍历 j 的值,只要 `j` 小于 2,就不断打印出当前的 `j` 值,并将 `j` 加 1。当 `j` 的值到达 2 或更大时,`while` 循环就结束了,回到 `for` 循环的下一次迭代。我们还在 `while` 循环中添加了一个 `if` 语句,以检查当前的 `i` 和 `j` 是否符合特定条件。如果是,我们就使用 `break` 语句跳出 `while` 循环。 接下来,我们添加了一个 `for` 循环来遍历 `range(2)` 中的元素,即 0 和 1。在每次循环中,我们打印出当前的 `k` 值,并使用一个嵌套的 `if` 语句来检查当前的 `i` 和 `k` 是否符合特定条件。如果是,我们就使用 `continue` 语句跳过本次迭代,直接进入下一次迭代。 最后,我们添加了一个 `else` 语句块来处理当 `for` 和 `while` 循环没有遇到 `break` 语句时的情况。当循环正常结束时,`else` 块中的代码就会被执行。在这个示例中,我们只是简单地打印一条消息。 运行这段代码,你会看到以下输出: ``` i = 0 j = 0 j = 1 while loop finished without encountering a break statement k = 0 i * k = 0 k = 1 i * k = 0 i = 1 j = 0 j = 1 k = 0 i = 2 j = 0 j = 1 while loop finished without encountering a break statement k = 0 k = 1 i * k = 2 i * k = 0 k = 0 k = 1 i * k = 2 i * k = 3 for loop finished without encountering a break statement ``` 这证明了我们使用 `for` 和 `while` 嵌套以及其他语法的代码是有效的!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值