Python基础学习之(for、while)循环语句
迪丽瓦拉
2024-05-30 15:07:35
0

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

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

一、while 循环

1.1、 解释/语法

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

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

案例1:求1到100的和

sum = 0
i = 1
while i<=100:             	# while 布尔类型(True、False):sum += ii += 1                	# 每一次循环加1print(f"1-100的和是:{sum}")

案例2:猜数字1-10

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

import randomnum = random.randint(1,10)
count = 0
flag = True               			#通过布尔类型判断while flag:guess_num = int(input("请输入你想的数字(1-10): "))count += 1if 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 = 1while j <= i:print(f"{j} * {i} = {i * j}\t",end='')j += 1i += 1print()      				# 空内容,输出换行

二、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 += 1print(f"内容着中总共有{count}个a")

2.2、嵌套

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

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

for i in range(1,10):           # 从1开始取,到9for 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 randomnum = random.randint(1,10)          #随机取数1-10i += 1if num < 5:print(f"员工{i} 绩效分是{num},不发工资,下一位")continueif money >= 1000:money -= 1000print(f"员工{i},正在发工资1000,公司账户剩余{money}")else:print(f"余额不够了:剩余{money},下个月在来把")break

3.2 使用 for 循环

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

上一篇:STM32CubeMX使用说明

下一篇:C++复习笔记1

相关内容