【Python】基础·学习笔记3——循环语句

目录

一、while循环

二、while循环的嵌套

三、for循环

 四、分别用while循环和for循环写九九乘法表

五、range语句

六、random语句

七、continue 和 break

八、综合案例

九、说明:while 和 if 的选用


一、while循环

while 条件表达式:
    满足条件时执行的代码
    ...

注意事项

  • 判断条件的结果必须时布尔类型,非TrueFalse
  • 循环条件之后有一个冒号:
  • 归属于while语句的代码,前边有4个空格缩进
  • 规划好循环终止条件,否则无限循环
# while循环
i = 0
while i < 5:
    print(f"赵大拿有{i}个头")
    i += 1       # 终止条件

# # 赵大拿一共有几个头
result = 0
j = 0
while j <= 5:
    result +=  j
    j += 1
print(f"赵大拿一共有{result}个头")

二、while循环的嵌套

i = 1
while i <= 3:
    print(f"这是赵大拿的第{i}个头")
    j = 1
    while j <= 5:
        print(f"这是赵大拿第{i}个头上的第{j}根头发")
        j += 1   # 控制条件的累加,确保循环不是无限循环
    i += 1       # 控制条件的累加,确保循环不是无限循环

注意缩进,相互之间的层次关系,最后注意终止条件 

三、for循环

for 临时定义的变量 in 待处理的数据集:
    满足条件时执行的代码

注意事项:无法定义循环条件,只能被动取出数据处

for 循环和 while 循环的区别:

  •  while 循环条件是自定义的,自行控制循环条件
  •  for 循环是一种"轮询"淘汰机制,是对一批内容进行逐个处理
#     for 循环无法定义循环条件,
#     格式:for 变量 in 被处理的数据

name = "行走的赵哈哈"
for x in name:
    print(x)

# 输出内容
行
走
的
赵
哈
哈

name = "行走的赵哈哈"
# 定义一个变量,用来统计有多少个“哈”
ha_num = 0

# for 循环
# for 临时变量 in 被统计的数据
for ha in name:
    if ha == "哈"  :
        ha_num += 1
print(f"被统计的数据有{ha_num}个“哈”")

 四、分别用while循环和for循环写九九乘法表

print()            #切换行

,end=""            #不换行

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

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

五、range语句

  • 功能:获得一个数字序列
  • 语法格式:
语法说明
range(num)从0开始,到num结束,不含num本身
range(num1,num2)从num1开始,到num2结束,不含num2本身
range(num1,num2,step)从num1开始,到num2结束,不含num2本身,步长为step

        range语句用法较广泛,在学习python初期,range语句多与for循环搭配使用。

六、random语句

import random
num = random.randint(a,b)

通过random语句,可以在a ,b 之间随机取一个数,包含a,b

# 随机取数
import random
num = random.randint(1,20)
print(num)

七、continue 和 break

  •  continue

       中断所在循环的当次执行,直接进入下一次

  •  break

       直接结束所在的循环

  • 注意事项

       continue和break在for和while当中的作用是一致的,在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用

       # continue :临时中断,中断本次
       # 中断《所在循环》的《当次》循环,直接进入下一次循环
       # break :结束所在循环
       # 结束《所在的》循环。跳出所在的循环,直接结束。

for i in range(3):
    print("语句111")
    continue
    print("语句211")

 # 以上代码,中断了语句211
# 输出内容为
语句111
语句111
语句111

for i in range(3):
    print("语句1")
    for j in range(3):
        print("语句2")
        continue
        print("语句3")
    print("语句4")
# 中断了语句3,i 一次循环的结果为语句1、语句2、语句2、语句2、语句4,共三次
语句1
语句2
语句2
语句2
语句4
语句1
语句2
语句2
语句2
语句4
语句1
语句2
语句2
语句2
语句4

for i in range(3):
    print("语句5")
    for j in range(3):
        print("语句6")
        break
        print("语句7")
    print("语句8")
# 结束了 j 的循环
语句5
语句6
语句8
语句5
语句6
语句8
语句5
语句6
语句8

八、综合案例

不使用continue


# 总共4w
money = 40000
# 30个人里给5个人发奖金,一人发8000
for people in range(1,30):
    # 随机生成绩效分
    import random
    num = random.randint(1,10)
    if num >= 5:
        if money >= 8000:
            money -= 8000
            print(f"员工{people}的绩效分为{num},超过5,发放奖金8000,余额:{money}元")
        else:
            print(f"奖金发放完毕")
            break
            
    else:
        print(f"员工{people}的绩效分为{num},未超过5,不发放奖金")


使用continue 


# 总共4w
money = 40000
# 30个人里给5个人发奖金,一人发8000
for people in range(1,30):
    # 随机生成绩效分
    import random
    num = random.randint(1,10)
    if num < 5:
        print(f"员工{people}的绩效分为{num},未超过5,不发放奖金")
        continue
    if money >= 8000:
        money -= 8000
        print(f"员工{people}的绩效分为{num},超过5,发放奖金8000,余额:{money}元")
    else:
        print(f"奖金发放完毕")
        break

九、说明:while 和 if 的选用

       本人在编写过程中遇到一些困惑:while 和 if 的选用问题。当然自己也清楚它们的作用是截然不同的,但就是容易混淆。

       在进一步学习之后,在此给它们区分一下:

while  条件 :

      代码串

      终止条件(一般是一个比较运算)

  if    条件  : 

         代码串1

  else:

         代码串2

总结: while 执行的代码穿只有一个,需要比较运算进行循环终止

            if  必须和else搭配使用,必然有一个以上的执行代码串

 以上仅是自己的一点学习记录及心得体会,希望对你有帮助~

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值