Python循环学习笔记

1.while循环

语法格式

while 条件:

        条件满足时,做的事情1

        条件满足时,做的事情2

        条件满足时,做的事情3

        ...(省略)...

i = 0        #定义初始变量i为0
while i < 25:    # 当i<25的时候,输出:我是ikun
    print('我是ikun')
    i += 1       #每输出一次 '我是ikun',i就会+1,当i>25的时候,就结束循环

练习1:用while循环,求1-100的和

sum = 0
i = 1
while i <= 100:
    sum += 1
    i += 1
print(sum)

练习2:用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("猜中了")
        #设置flag为False,终止循环
        flag = False
    else:
        if guess_num > num:
            print("猜大了")
        else:
            print("猜小了")

print(f"你总共猜了{count}次")

2.while循环的嵌套

语法格式:

while 条件1:

        条件1满足时,做的事情1

        条件1满足时,做的事情2

        条件1满足时,做的事情3

        ...(省略)...

        

        while 条件2:

                条件2满足时,做的事情1

                条件2满足时,做的事情2

                条件2满足时,做的事情3

                ...(省略)...

i = 1
while i <= 25:
    print(f"今天是想成为ikun的第{i}天,努力练习唱,跳,rap跟篮球")
    j = 1
    while j <= 25:
        print(f"每天练习{j}遍铁山靠")
        j += 1
    print("坚持不懈,总有一天会成为ikun")
    i += 1
    #break

print(f"坚持到第{i}天,修炼成功,成为ikun,追随鸽鸽的脚步")

嵌套循环需要注意的地方:

  • 注意条件的控制,避免无限循环
  • 多层嵌套,主要空格缩进来确定层次关系

嵌套循环的使用难点:

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

练习

1.九九乘法表

#定义外层循环的控制变量
i = 1
while i <= 9:

    # 定义内层循环的控制变量
    j = 1
    while j <= i:
        # 通过end='' 语句 ,使内层循环的print语句,不要换行,通过\t制表符进行对齐
        print(f"{j} * {i} = {j * i}\t",end='')
        j += 1

    i += 1
    print() #print空内容,就是输出一个换行

3.for循环

语法格式:

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

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

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

输出:
i
k
u
n

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

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

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

练习1:数一数有几个a

定义字符串变量name,内容为:”sing jump rap basketball is ikun"

通过for循环,遍历此字符串,统计有多少个英文字母:i

number = 0
name = "sing jump rap basketball is ikun"
for x in name:
    if x == 'i':
        number += 1
print(f"sing jump rap basketball is ikun 中共含有{number}个字母i")

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

练习:有几个偶数

定义一个数字变量num,内容随意

并使用range()语句,获取从1到100的序列,使用for循环遍历它

在遍历的过程中,统计有多少偶数出现

num = 0
for i in range(1,100):
    if i % 2 == 0:
        num += 1
print(num)

5.for循环的嵌套

练习:九九乘法表

#定义外层循环的控制变量
for a in range(1,10):
    # 定义内层循环的控制变量
    j = 1
    for j in range(1,a+1):
        # 通过end='' 语句 ,使内层循环的print语句,不要换行,通过\t制表符进行对齐
        print(f"{j} * {a} = {j * a}\t", end='')

    print()     #print空内容,就是输出一个换行

6.循环中断continue和break关键字

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

break关键字:直接结束循环

7.循环综合案例

练习:发工资

某公司,账户余额有1w元,给20名员工发工资

  • 员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
  • 领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
  • 如果工资发完了,就结束发工资

import random
#定义账户余额变量
money = 10000
#for循环对员工发放工资
for i in range(1,21):
    num = random.randint(1, 10)
    if num < 5:
        print(f"员工{i}绩效分{num},不满足,没有工资,下一位")
        #contianue跳过发放
        continue
    if money >= 1000:
        money -= 1000
        print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
    else:
        print(f"余额不足,当前余额:{money}元,没钱了,等下个月吧")
        break
        #break结束发放

你可能感兴趣的:(python,python)