欢迎来到我的博客!💃💃
🏡🏡推荐博客:August_._
一起持续学习,不断总结,共同进步🎊🎊
while循环
语法
- while的条件需得到布尔类型,True表示继续循环,False表示结束循环
- 需要设置循环终止的条件,否则将无限循环
- 和 if 判断一样,需设置空格缩进
例如:
i = 0
while i < 100:
print("我喜欢你")
i += 1
sum = 0
i = 1
while i<=100:
sum += i
i += 1
print(f"1-100累加的和是:{sum}")
猜数字案例
#定义随机数
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
else:
if guess_num > num:
print("猜大了,再猜一次吧")
else:
print("猜小了,再猜一次吧")
print(f"恭喜你,猜对了!你一共猜了{count}次")
循环的嵌套
- 同判断语句的嵌套一样。循环语句的嵌套,要注意空格缩进——决定层次关系
- 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
嵌套循环案例
#外层循环
i = 1
while i <= 100:
print(f"今天是学习python的第{i}天")
#内层循环
j = 1
while j <= 10:
print(f"学习的第{j}个知识点")
j += 1
print("今天的任务完成!")
i += 1
print(f"坚持到第{i - 1}天,学完咯,我真厉害嘿嘿!")
for循环
语法
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
循环案例
name = "I fall in love with you at first sight"
#定义一个变量,用来统计o的数量
count = 0
for x in name:
if x == "o":
count += 1
print(f"被统计的字符串中共有{count}个o")
range语句
语法一:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
#语法一
for x in range(10):
print(x)
语法二:
range(num1,num2)
获得一个从num开始,到num2结束的数字序列(不含num2本身)
#语法二
for x in range(1,10):
print(x)
语法三:
range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准【step默认为1】
#语法三
for x in range(1,10,3):
print(x)
应用案例
for x in range(10):
print("我喜欢你")#x用不用都行
#与下列代码运行效果一致
i = 1
while i <= 10:
print("我喜欢你")
i += 1
临时变量
作用域限定为:循环内
- 是编程规范的限定,而非强制性限定
- 不遵守也能正常运行,但不建议
- 如需访问临时变量,可以预先在循环外定义它
不规范
规范
循环的嵌套
#外层循环
i = 0
for i in range(1,101):
print(f"今天是学习python的第{i}天")
#内层循环
for j in range(1,11):
print(f"学习的第{j}个知识点")
print("今天的任务完成!")
print(f"坚持到第{i}天,学完咯,我真厉害嘿嘿!")
#与以下代码效果一样
#外层循环
i = 1
while i <= 100:
print(f"今天是学习python的第{i}天")
#内层循环
j = 1
while j <= 10:
print(f"学习的第{j}个知识点")
j += 1
print("今天的任务完成!")
i += 1
print(f"坚持到第{i - 1}天,学完咯,我真厉害嘿嘿!")
九九乘法表
while循环
1、控制行的循环 i <= 9
2、控制每一行输出的内容 j <= i
#定义外层循环的控制变量
i = 1
while i <= 9:
#定义内层循环的控制变量
j = 1
while j <= i:
#内层循环的print语句,不换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t",end='')
j += 1
i += 1
print() #print空内容,就是输出一个换行
for循环
for i in range(1,10):
for j in range(1,i+1):
print(f"{j} * {i} = {i * j}\t",end='')
print()
知识补充
print语句中,加上end=' ' 即可输出不换行
【end=' ' 是使用的方法传参功能】
制表符 \t 效果等同于在键盘上按下tab键,可以使多行字符串进行对齐
结束循环
continue——对所在循环进行临时跳过
- 中断本次循环,直接进行下一次循环
- 用于for循环和while循环效果一致
break——对所在循环进行直接结束
- 直接结束循环
- 用于for循环和while循环效果一致
案例——给员工发工资
# 定义公司总金额
money = 10000
# for循环对员工发放工资
for i in range(1,21):
import random
num = random.randint(1,10)
if num < 5:
print(f"员工{i},绩效分{num},低于5.不发工资,下一位。")
# 跳过发放
continue
# 要判断余额足不足
if money >= 1000:
money -= 1000
print(f"向员工{i}发放工资1000元,账户余额还剩余{money}")
else:
print(f"余额不足,当前余额:{money}元,不足以发放工资,不发了,下个月再来")
# break结束发放
break