Python的使用之循环
循环是程序设计语言中反复执行某些代码的一种计算机处理过程,常见的有按照次数循环和按照条件循环。
while循环
语法:
while(循环条件):
循环体
示例1 猜数字
import random
ans = random.randint(1, 100) # 生成1-100之间的随机数
print(ans)
i = 1
num = int(input("请输入要猜的数值:"))
while(ans != num):
if(num > ans):
print("猜得数字太大了")
else:
print("猜的数字太小了")
i = i + 1
num = int(input(f"请输入第{i}次猜的数值:"))
if(num == ans):
break
print("猜对了!!!!")
print(f"恭喜第{i}次就猜对了")
示例2 九九乘法表
# 外循环控制变量
i = 1
while(i <= 9):
# 内循环控制变量
j = 1
while(j <= i):
# print会自动换行,加上end解决
print(f"{j}*{i}={i*j}\t", end="")
j += 1
i += 1
# print 语句会自动换行
print()
for 循环
for循环与while循环的功能基本上差不多,但是仍有一些区别:
- while循环的循环条件是自定义的,自行控制循环条件
- for循环是一种**“轮询”机制,是对一批内容进行“逐个处理”**
for 循环语法
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
遍历字符串
# 定义字符串
name = "hello world!"
for x in name:
# 将name的内容,挨个取出赋予x临时变量
# 就可以在循环体内对x进行处理
print(x)
for循环无法定义循环条件,只能被动取出数据处理
数一数有几个a
str = "abcdeadjkjiakdjaeiaajeifjla"
count = 0
for x in str:
if(x == 'a'):
count += 1
print(f"一共有{count}个a字母")
range语句
for循环语句,本质上是便利:序列类型
通过学习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,默认为1
range(5,10,2) #[5, 7, 9]
for循环打印九九乘法表
# for 循环打印九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={j*i}\t", end="")
print()
break与continue
- break:跳出循环,直接结束所在的循环。
- continue:结束本次循环,开启下一次循环,且只能用于循环中。
- 在嵌套循环中,只有在本次循环中才有作用
综合测试
"""
公司有20名员工,从1-20,依次领取工资,没人可以领取1000元,公司账户余额1W元
领工资时,财务判断员工的绩效分(1-10)【随机生成】,如果低于5,不发工资,换下一位
如果工资发完了,结束发工资。
"""
import random
money = 10000
for i in range(1, 21):
x = random.randint(1, 10)
if(x < 5):
print(f"员工{i},绩效{x},低于5,不发工资,下一位")
continue
print(f"向员工{i}发放工资1000元,账户余额还剩{money-1000}")
money -= 1000
if (money == 0):
print("工资发完了,下个月领取吧")
break