python入门(四)——python循环语句

系列文章目录

python入门(一)——你好python
python入门(二)——python基础语法
python入门(三)——python判断语句
python入门(五)——python函数
python入门(六)——python数据容器
python入门(七)——python函数进阶



前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

1 while循环的基础语法

while 条件:
	事件1
	事件2
i = 0
while i<100:
	print("❤️")
	i += 1

注意事项

  • 条件是布尔类型
  • 设置循环终止条件
  • 空格缩进和If判断一样需要设置
i = 1
sum = 0
while i <= 100:
	sum += i
	i += 1
print(f"1-100累加的和是:{sum}")

2 while循环的基础案例

import random
num = random.randint(1, 100)
flag = True
count = 0
while flag:
	guess = int(input("请输入你猜想的数字:"))
	count += 1
	if guess != num:
		if guess < num:
			print("猜想的数字太小了!")
		else:
			print("猜想的数字太大了")
	else:
		print("恭喜你!你猜对啦!")
		flag = False
		print(f"你一共猜了{count}次")

注意事项

  • 空格决定层次关系
  • 注意条件的设置避免无限循环

3while循环的嵌套运用

while 条件1:
	事件1
	事件2
	while 条件2:
		事件1
		事件2
day = 1
while day <= 10:
	print(f"今天是第{day}天")
	work = 0
	while work < 3:
		print("开始完成ddl")
		work += 1
		print(f"已经完成了{work}个ddl")
	day += 1
print("十天的任务都完成啦!")

4 while循环的嵌套案例

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

1*1=1		
1*2=2	2*2=4		
1*3=3	2*3=6	3*3=9		
1*4=4	2*4=8	3*4=12	4*4=16		
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25		
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36		
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49		
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64		
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81		

5 for循环的基础语法

while和for区别

  • while循环条件是自定义的,自行控制循环条件
  • for循环是“轮询”机制,是对一批内容进行逐个处理
for 临时变量 in 待处理数据集:
	满足条件时执行代码

待处理数据集严格来说被称为序列类型,序列类型是指其内容可以一个个依次取出的一种类型,包括:

  • 字符串
  • 列表
  • 元组
name = "itheima"
for x in name:
	print(x)
i
t
h
e
i
m
a
# for循环处理字符串将字符串的内容依次取出
因此也被称为遍历循环

注意事项

  • for无法定义循环条件,只能从被处理的数据集中依次取出内容进行处理
  • 循环内语句需要有空格缩进
name = "itheima is a brand of itcast"
count = 0
for i in name:
	if i == "a":
		count += 1
print(f"itheima is a brand of itcast中一共有{count}个字母a")

itheima is a brand of itcast中一共有4个字母a

range语句

range(num)

获取从0开始到num结束的数字序列,不含num本身,range(5)取到的数据是[0, 1, 2, 3, 4]

range(num1, num2)

获取从num1开始,到num2结束的数字序列,不含num2本身,range(5, 10)取到的数据是[5, 6, 7, 8, 9]

range(num1, num2, step)

获得从num1开始,到num2结束的数字序列,不含num2本身,数字之间的步长以step为准,默认为1,range(5, 10, 2)取得的数据是[5, 7, 9]

for i in range(1, 11):
	print(f"打卡次数{i}次")

打卡次数1次
打卡次数2次
打卡次数3次
打卡次数4次
打卡次数5次
打卡次数6次
打卡次数7次
打卡次数8次
打卡次数9次
打卡次数10
num = 100
count = 0
for i in range(1, num):
	if i % 2 == 0:
		count += 1
print(f"1到100(不含100本身)范围内,有{count}个偶数")

1100(不含100本身)范围内,有49个偶数

for循环变量作用域

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

临时变量在编程规范上,作用范围只限定在for循环内部,如果在for循环外部访问临时变量:

  • 实际上是可以访问的
  • 在编程规范上是不允许、不建议做的
    在这里插入图片描述

在for循环外面定义变量即可

i = 0
for i in range(5):
	print(i)
print(i)

0
1
2
3
4
4

6 for循环的嵌套运用

for 临时变量 in 待处理数据集:
	事件1
	事件2
	for 临时变量 in 待处理数据集:
		事件1
		事件2

for和while嵌套

for循环 或 while循环:
	事件1
	事件2
	for循环 或 while循环:
		事件1
		事件2
for i in range(1, 10):
	for j in range(1, i+1):
		print(f"{j}*{i}={j*i}\t", end="")
	print()

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	

7 循环中断:break和continue

continue

中断本次循环,直接进入下一次循环

for i in range(1, 6):
	print("语句1")
	continue
	print("语句2")

# 语句2是不会执行的
语句1
语句1
语句1
语句1
语句1

break

break直接结束所在的循环

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

# 执行语句1之后,直接执行语句3
语句1
语句3

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

语句1
语句2
语句4
语句1
语句2
语句4
语句1
语句2
语句4
语句1
语句2
语句4
语句1
语句2
语句4

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

语句1
语句2
语句1
语句2
语句1
语句2
语句1
语句2
语句1
语句2
语句4

8 综合案例

import random
money = 10000
for num in range(1, 21):
	score = random.randint(1, 10)
	if score < 5:
		print(f"员工{num},绩效分{score},低于5,不发工资,下一位。")
		continue
	else:
		if money != 0:
			money -= 1000
			print(f"向员工{num}发工资1000元,账户余额还剩余{money}")
		else:
			print(f"工资发完了,当前余额:{money}元,下个月领取吧。")
			break

向员工1发工资1000元,账户余额还剩余9000
向员工2发工资1000元,账户余额还剩余8000
向员工3发工资1000元,账户余额还剩余7000
向员工4发工资1000元,账户余额还剩余6000
员工5,绩效分3,低于5,不发工资,下一位。
员工6,绩效分3,低于5,不发工资,下一位。
向员工7发工资1000元,账户余额还剩余5000
员工8,绩效分3,低于5,不发工资,下一位。
向员工9发工资1000元,账户余额还剩余4000
向员工10发工资1000元,账户余额还剩余3000
向员工11发工资1000元,账户余额还剩余2000
员工12,绩效分2,低于5,不发工资,下一位。
向员工13发工资1000元,账户余额还剩余1000
向员工14发工资1000元,账户余额还剩余0
工资发完了,当前余额:0元,下个月领取吧。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值