python笔记4-第四章 循环语句

一、while循环的基础语法

1.程序中的循环

while 条件:#语法格式

        条件满足时,做的事情1

        条件满足时,做的事情2

        条件满足时,做的事情3

        ...(省略)...                        只要条件满足,会无限循环执行

使用循环语句简单搞定

i = 0
while i < 100:
    print("小美,我喜欢你")
    i += 1

 2.while循环的注意事项

(1)条件需提供布尔类型结果,True继续,False停止

(2)空格缩进不能忘

(3)请规划好循环终止条件,否则将无限循环

二、while循环的基础案例

# 演示while 循环的基础案例 -猜数字
# 获取范围在1-100的随机数字
import random
num = random.randint(1,100)

# 定义一个变量,记录总共猜测了多少次
count = 0
# 通过一个布尔型的变量,做循环是否继续的标记
flag = True
while flag:
    guess_num = int(input("请输入你猜测的数字:"))
    count += 1
    if guess_num == num:
        print("猜中了")
        # 设置False为终止循环的条件
        flag = False
    else:
        if guess_num > num:
            print("你猜测的大了")
        else:
            print("你猜测的小了")
print(f"你总共猜测了:{count}次")


 

三、while 循环的嵌套应用

1.嵌套循环的语法格式

while 条件1:

        条件满足时,做的事情1

        条件满足时,做的事情2

        条件满足时,做的事情3

        ...(省略)...         

        while 条件2:

                条件满足时,做的事情1

                条件满足时,做的事情2

                条件满足时,做的事情3

                ...(省略)...

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

        (1)注意条件的控制,避免无限循环

        (2)多层嵌套,主要空格缩进确定层次关系

3.嵌套循环的使用难点

        循环条件的控制,层次越多越复杂,需要细心+耐心

"""
演示while循环的嵌套使用
表白,送100天,每天送10朵玫瑰
"""
# 外层,表白100天的控制
# 内存,每天的表白都送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}天,表白成功")

四、while循环的嵌套案例

        打印九九乘法表

        在要完成的案例中,需要使用print语句,输出不换行的功能,非常简单,实现方式如下:

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

输出结果为HelloWorld

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

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

比如:

print("Hello World")
print("itheima best") #使用空格无法对齐

print("Hello\tWorld")
print("itheima\tbest")#使用\t后,可以对齐

输出如下:
Hello World
itheima best
Hello   world
itheima best
"""
演示while循环的嵌套使用
循环嵌套案例:打印输出九九乘法表
"""
# 定义外层循环的控制变量
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.for循环

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

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

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

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

2.for循环语句

(1)程序中的for循环

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

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

(2)遍历字符串

#定义字符串name
name = "itheima"
#for循环处理字符串
for x in name:
    print(x)

3.for循环注意点及应用

        同while循环不同,for循环是无法定义循环条件的。只能从被处理的数据集中,依次取出内容进行处理。

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

应用(数字符串中多少个a)

count = 0
name = "itheima is a brand of itcast"
for x in name:
    if x == "a":
        count += 1
print(f"被统计的字符串中有{count}个a")

4.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]

# 作业 有几个偶数,序列(1,100),统计有多少个偶数出现
count = 0
for x in range(1,100):
    if x % 2 == 0:
        count += 1
print(f"1到100(不含100本身)范围内,有{count}个偶数")
补充:

        (1)for循环中的临时变量,其作用域限定为:

循环内

        (2)这种设定:

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

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

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

六、for循环嵌套

        坚持100天,每天送花10朵玫瑰花(以向小美表白的案例为例)

"""
演示嵌套应用for循环
"""
# 坚持表白100天,每天都送10朵玫瑰花
# range控制for循环
i = 1
for i in range(1,101):
    print(f"今天是向小美表白的第{i}天,加油坚持")
    # 内层循环
    for j in range(1,11):
        print(f"给小美送的第{j}朵玫瑰花")
    print("小美我喜欢你")
print(f"第{i}天,表白成功")

七、循环中断:breakcontinue 

# 演示continue的嵌套应用
for i in range(1,6):
    print("语句1")
    for j in range(1,6):
        print("语句2")
        continue
        print("语句3")
    print("语句4")

Break

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

八、综合案例开发

"""
演示循环综合案例,发工资
"""
# 定义账户余额变量
money = 10000
# for循环对员工发放工资
for i in range(1,21):
    import random
    score = random.randint(1,10)
    if score < 5:
        print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
        # continue跳过发放
        continue
    # 要判断余额足不足
    if money >= 1000:
        money -= 1000
        print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
    else:
        print(f"当前余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")
        # break 结束发放
        break

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值