1. while 循环语句
1.1 循环概念
循环是程序射击语言中反复执行某些代码的一种计算机处理过程
1.2 while 循环的作用
重复执行某些代码
1.3 while 循环的基本语法
while 条件:
反复执行的代码
.....

1.4 循环变量
循环变量是用于控制循环执行次数的变量,通常从0开始计数。

1.5 死循环
如果循环语句未设置合理的退出条件,则循环语句将构成死循环,程序将永久执行下去。
2. 循环的终止与跳出
2.1 break
break可以用于终于循环的执行,当执行到break语句后,程序将跳出循环,执行循环语句后面的代码

2.2 continue
continue可以用于提前结束本轮循环的执行,当执行到continue语句后,程序将跳到判定循环是否向下执行的条件处,进行下一轮循环是否执行的判定与后续代码执行

2.3 注意事项
break与continue必须出现在循环体中
3.循环嵌套
3.1 循环嵌套概念
while循环中重复执行的代码又包含了另一个while循环。
3.2 循环嵌套的基本语法
while 条件:
while 条件:
反复执行的代码
......
"""
演示循环嵌套
"""
j = 1
while j <= 5:
i = 1
while i <= 3:
print(i)
i += 1
j += 1
3.3 注意事项
break 与 continue仅能控制其所在的循环结构,不能控制其它循环结构
案例:数字累加求和
"""
案例:数字累加求和
要求:求100以内的所有数字和
"""
# 分析
# 1.100以内的数字是1到100
# 2.求和要有一个变量来保存最终的计算结果 sum
# 3.使用while循环来构造反复加的操作
# 定义一个变量用于描述1到100
i = 1
sum = 0
while i <= 100:
sum = sum + i
# 让i每次自增1
i += 1
print("1到100的和是:%d" % sum)
案例:回文数
"""
案例:回文数
要求:打印所有3位回文数
回文数:如果一个数字从左侧读和从右侧读是同一个数,则该数字即为。例如121,777
"""
# 分析
# 1. 3位回文数从100到999
# 2.回文数特征,百位数字和个位的数字相同
# 3.打印满足特征的数字
## 求一个数字的百位数字
# 假设 x = 789
# print(x//100)取出百位数
## 求一个数字的个位数字
# print(x%10)取出个位数字
i = 100
while i <= 999:
# 取出百位和个位进行比较,如果相同就打印
a = i//100
b = i%10
# 判断a和b是否相同,相同就打印,不同则忽略
if a == b:
print(i)
i +=1
案例:九九乘法表
"""
演示九九乘法表案例
"""
# 分析
# 1.结构:循环嵌套(外层,9次,内层,依次增加1-9)
# 2.打印内容: X * Y = Z "%d*%d=%d" % (X,Y,Z)
# 3.打印对其:使用指标位符号\t
# 假设打印乘法5的一行
i = 1
j = 5
while i <= 5:
print("%d*%d=%d" % (i, j, i*j),end="\t")
i += 1
# 打印时非一排显示,需要加end="\t"取消默认换行打印
# 同时复制9次可得最后结果,可用循环嵌套简写
j = 1
while j <= 9:
i = 1
while i <= 9:
print("%d*%d=%d" % (i, j, i*j),end="\t")
i += 1
print()
j += 1
# 运行后都是一行显示,需要在每一行i后面换行print()=默认换行
# 最后打印了重复数列,不是阶梯型,运行点debug一步步运行后,发现i<=的值刚好是每次i循环一轮后j的值,最后改正,只需改为i<=j即可。
j = 1
while j <= 9:
i = 1
while i <= j:
print("%d*%d=%d" % (i, j, i*j),end="\t")
i += 1
print()
j += 1
4. 函数
4.1 函数的概念
函数(function)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。
4.2 函数的作用
使用函数可以加强代码的复用性,提高程序编写的效率。
4.3 无参数函数的语法格式
定义格式:
def 函数名():
函数体
......


4.4 有参数函数的语法格式
定义格式:
def 函数名(参数):
函数体
......
def sum(a):
# 计算1到指定数字的和
i = 1
sums = 0
while i <= a:
sums = sums + i
i += 1
print(sums)
调用格式:
函数名(参数)
例:sum(100)调用上面函数求1-100的和
4.5 有返回值函数的语法格式
定义格式:
def 函数名(参数):
函数体
return 函数运行结果返回值
......


4.6 函数定义和调用规则
定义规则: 函数必须先定义,后调用。否则程序将报错。
调用规则: 函数定义部分的代码仅用于声明函数,调用时才实际执行函数内容。
4.7 函数的文档注释
文档注释可以为函数添加功能说明,方便开发者查阅函数相关信息

5.参数
5.1 参数的作用
使用参数可以将函数运行过程中需要的值传递到函数中,让函数更具有灵活性
5.2 形参和实参
形参是函数定义时规定的参数,仅在函数体内有效
实参是函数调用时使用的参数,该值将传递给函数
6.返回值
6.1 返回值的作用
为函数指定运行的结果值,该值将返回到函数调用位置
提示:print打印,开发过程中仅开发人员可见。return返回,都可见(包括用户)。
6.2 注意事项
1.如果一个函数没有设置返回值,使用变量接收时结果为None。
2.同一个函数执行过程中只能执行一次return语句,执行return语句后,return后面的内容将不再执行,函数执行完毕。
7. 作用域
7.1 作用域
数据可以使用的范围称作数据的作用域
7.2 函数参数的作用域
函数参数(形参)的作用域是从函数定义位置开始到函数定义结束位置
注意:函数间不能共享参数(形参)
7.3 变量的作用域
局部变量:函数内部定义的变量从此函数定义的位置起到此函数结束的位置有效
全局变量:函数外部定义的变量,从变量定义位置开始,在整个文件中有效
7.4 注意事项
1.如果局部变量(函数内部定义的变量)与全局变量(函数外部定义的变量)产生冲突,可以提升局部变量为全局变量,使用时先声明再使用
2.提升局部变量为全局变量的语法格式:global (变量名)
8. 函数间调用
8.1 函数间调用概念
在一个函数中调用另一个函数的过程称为函数间的调用
8.2 函数间调用的语法格式
函数间调用的语法格式同函数的基本调用格式,特殊之处在于书写位置使在一个函数体内调用另一个函数
def add(a, b):
return a + b
def div(a, b):
return a / b
def get(a, b):
# 先计算和
c = add(a,b)
# 再计算平均值
d = div(c,2)
return d
x = get(1000,2000)
print(x)
案例:求最大值
"""
演示求最大值函数案例
要求:任意给出两个数字,可以得到最大的数字值返回并打印
"""
# 分析
# 1.函数必须使用带参数的定义格式,两个参数 def 名称(2个参数)
# 2.做比较,求出最大的值
# 3.返回最大数,打印最大值
def max2(a,b):
if a > b: #如果a大于b,返回a
return a
else: #否则返回b
return b
x = max2(5,8)
print(x)
案例:三个数求最大值
"""
# 演示三个数字求最大值函数案例
# 要求1:任意给出两个数字,可以得到最大的数字值
# 要求2:基于最大值函数基础上制作
"""
# 分析
# 1.两个函数,一个是求两个数字的最大值,还有一个是求三个数字的最大值
# 2.三个数字的最大值函数调用两个数字最大值函数来完成任务
# 3.最终结果要使用return 返回
# 两个数字求最大值
def max2(a,b):
if a > b:
return a
else:
return b
def max3(a,b,c):
# 先使用两个数字求出最大值
x = max2(a,b)
# 使用得到的结果再与第三个数字一起求最大值
y = max2(x,c)
return y
m = max3(2,7,9)
print(m)