Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大!

本文以案例的方式给大家详细解释Python中的while、for循环用法

一、while 循环

1.1、 解释/语法

(1)可以自定义条件,根据条件进行循环
(2)适用于未知循环次数的循环

while 条件表达式:
	循环体语句

案例1:求1到100的和

sum = 0
i = 1
while i<=100:             	# while 布尔类型(True、False):
    sum += i
    i += 1                	# 每一次循环加1

print(f"1-100的和是:{sum}")

案例2:猜数字1-10

(1)Python中 random 模块用于生成随机数,random.randint(a, b),用于生成一个指定范围内的整数,其他用法可自行百度

import random

num = random.randint(1,10)
count = 0
flag = True               			#通过布尔类型判断

while flag:
    guess_num = int(input("请输入你想的数字(1-10): "))
    count += 1
    if guess_num == num:
        print("恭喜你,猜对了")
        flag = False       			#终止循环
    else:
        if guess_num > num:
            print("你猜的比较大")
        else:
            print("你猜的比较小")

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

1.2、嵌套

案例3:九九乘法表(while循环)

(1)不换行打印输出 print(“hello”, end=‘’)

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j} * {i} = {i * j}\t",end='')
        j += 1
    i += 1
    print()      				# 空内容,输出换行

二、for 循环

2.1、解释/语法

(1)可以遍历对象,适用于已知循环次数的循环

(2)for 变量 in range(num1,num2,step):,从num1开始,到num2结束,但不含num2本身,step表示步数,可为空

for 变量 in 对象:
	 循环体语句

案例1:取5-10的数,间隔2

for x in range(5,10,2): 		 		#从5开始,但不含10本身,间隔2步开始取
    print(f"{x}\t",end='')              # 结果:5  7  9

案例2:依次取出字符串

name = ["qwe","大哥",666]
for x in name:
     print(x)

案例3:计算内容中有多少a

name = "wo shi dashazi"
count = 0
for x in name:
    if x == "a":
        count += 1

print(f"内容着中总共有{count}个a")

2.2、嵌套

案例4:九九乘法表(for循环)

(1)不换行打印输出 print(“hello”, end=‘’)

for i in range(1,10):           # 从1开始取,到9
    for j in range(1,i+1):
        print(f"{j} * {i} = {i * j}\t",end='' )
    print()                     # 空内容,输出换行

2.3、continue语句

效果:continue 语句用于跳过当前循环中的剩余语句,然后继续下一轮循环。

for x in range(1,3):
    print(f"语句1:{x}")
    for y in range(1,2):
        print(f"语句2:{y}")
        continue            	# 跳出当前循环,再执行下一次循环
        print("语句3")
    print("语句4")

2.4、break语句

效果:break 语句用于中断循环,不会执行。

for x in range(1,2):
    print(f"语句1:{x}")
    for y in range(1,50):
        print(f"语句2:{y}")
        break               	# 直接跳出当前循环
        print("语句3")
    print("语句4")

2.5、exit/pass语句

exit:表示结束程序的运行。
pass: 表示空语句或占用语句。

三、综合案例(员工发工资)

需求1:公司账户余额有1w,需给20名员工发工资;

需求2:员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元;

需求3:员工的绩效分(1-10,需要随机生成),如果低于5不发工资,直到工资发完结束发工资。

3.1 使用 while 循环

money = 10000
i = 0
while i < 20:
    import random
    num = random.randint(1,10)          #随机取数1-10
    i += 1
    if num < 5:
        print(f"员工{i} 绩效分是{num},不发工资,下一位")
        continue
    if money >= 1000:
        money -= 1000
        print(f"员工{i},正在发工资1000,公司账户剩余{money}")
    else:
        print(f"余额不够了:剩余{money},下个月在来把")
        break

3.2 使用 for 循环

money = 10000
for i in range(1,21):					# 注意这里是取到20
    import random                   	# 导入随机模块random
    num = random.randint(1,10)      	# 随机取数1-10
    if num < 5:
        print(f"员工{i} 绩效分是{num},不发工资,下一位")
        continue
    if money >= 1000:
        money -= 1000
        print(f"员工{i},正在发工资1000,公司账户剩余{money}")
    else:
        print(f"余额不够了:剩余{money},下个月在来把")
        break