提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
通过python whlie和for语句输出九九乘法表
一、whlie循环
通过whlie循环,输出如下九九乘法表
1.控制行的循环i<=9
2.控制每一行输出的循环j<=i # print (j*i,end=‘’)
定义外层循环的控制变量
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循环打印九九乘法表
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
#定义字符串name
name = ”itheima”
#for循环处理字符串
for x in name:
print(x)
**同while循环不同,for循环是无法定义循环条件的。
只能从被处理的数据集中,依次取出内容进行处理。
1. for循环的语法格式是:
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
(语法中的:待处理数据集,严格来说,称之为:可迭代类型
可迭代类型指,其内容可以一个个依次取出的一种类型,包括:
字符串、列表、元组、等)
2. for循环的注意点
无法定义循环条件,只能被动取出数据处理
要注意,循环内的语句,需要有空格缩进
三、range语句
语法1:range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:[0, 1, 2, 3, 4]
语法2:range(num,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]
语法3:range(num,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5, 10, 2)取得的数据是:[5, 7, 9]
for循环处理字符串
for i in range(5):
print(i)
三、 for循环的变量作用域
回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量
为什么是临时的呢?
临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
实际上是可以访问到的
在编程规范上,是不允许、不建议这么做的
如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义
如图,每一次循环的时候,都会将取出的值赋予i变量。
由于i变量是在循环之前(外)定义的
在循环外访问i变量是合理的、允许的
四、for循环的嵌套应用
- for循环的嵌套语法:
- 注意事项:
需要注意缩进,嵌套for循环同样通过缩进确定层次关系
for循环和while循环可以相互嵌套使用
九九乘法表
for i in range (1,10):
# 通过内层循环控制每一行的变量
for j in range (1,i + 1):
# 在内层循环中输出每一行的内容
print (f"{j} * {i} = {j*i}\t", end='')
# 外层循环可以通过print输出一个回车符
print()
五、循环中断 break和continue
continue
continue关键字用于:中断本次循环,直接进入下一次循环
continue可以用于: for循环和while循环,效果一致
break
break关键字用于:直接结束所在循环
break可以用于: for循环和while循环,效果一致
六、练习案例
某公司,账户余额有1W元,给20名员工发工资。
员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资。
代码:
# 发工资案例
# 定义账户余额变量
money = 10000
# 通过for循环对员工发放工资
for i in range(1,12):
import random
score = random.randint(1,10)
if score < 5:
print(f"员工{i}绩效分{score},不满足,不发工资,下一位")
# continue跳过发放
# 要判断余额足不足
if money >= 1000:
money -= 1000
print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
else:
print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")
# break结束发放
break