# 循环语句
语法格式一:
```python
# 循环从while开始,后面添加条件
while "条件":
"反复执行的代码"
.....
```
循环变量控制:
```python
i = 0 # 循环变量的初始值,通常从0开始
while i <= 3:
print()
"或者" ...
i += 1 # 循环次数设置,若未设合理退出条件,会在循环内一直运行(死循环)
```
举例:1-100以内求和
```python
num = 1
sum = 0
while num <= 100:
sum += num # sum+num后,再放回sum
sum += 1 # 循环变量控制
print(sum)
```
易入误区:要提高思考问题和需求的逻辑关系(简单例子)
```python
num = 1
sum = 0
while num <= 100:
sum += num
num += 2 # 人脑代替来逻辑,不可取
num = 1
sum = 0
while num <= 100:
if num % 2 ==0: # 正常逻辑,学会思维和思路的逻辑想法
sum += num
num += 1
```
# 输出格式改造
通过“end = ”改变输出:
```python
print("...",end=" \n[换行符]" ) # end(表示print结束时,要做的内容,例:换行 -\n)
```
几种类型:
```
end = # print完成后,用......结束
values() #
sep() #
file() #
flush() #
```
# break 与 continue???
注意: **必须** 出现在循环体中,只能控制 **当前的** 循环体(循环嵌套中)
break:
```python
i = 1
while i <= 10:
if i == 5:
break #可以提前终止,直接跳出当前循环,执行循环后面的代码
print("....")
print("next") #不满足while时,开始从此处执行
>>next
```
continue:
```python
i = 1
while i <= 10:
if i == 5:
continue #不向下运行,直接跳回while,执行下次当前循环,至当前循环跳出
print("....")
print("next")
```
# 循环嵌套
while 条件:
while 条件:
反复执行的代码
.........
练习:99乘法表模型
```python
*
**
***
#......
#每一行由不同的*打印 ,有多个行
#先完成1*3=3,再完成 1*1 1*2 1*3 , 最后完成竖列的循环
j = 1
while j <= 9: # 行,控制竖排量
i = 1
while i <= j: # 列,控制横排量
print("%d*%d=%d" % (i, j, i*j) ,end = "") # i*j 打印
i += 1 # 内循环,控制i
print() # 空格,空一行
j+=1 # 外循环,控制j
```
# 循环嵌套中的break和continue
break和continue仅能控制其所在的循环,不能控制其他循环结构
```python
j = 1
while j <= 9:
i = 1
while i <= j:
break # 到此break,跳至第8
print("%d*%d=%d" % (i, j, i*j) ,end = "")
i += 1
print()
j+=1
break # 外层break,不影响内部
print()
```
特殊理解:
```python
# *
# ***
# *****
# *******
# 有两种字符, 空格 与 *号
i = 0
while i < 4:
j = 0
while j < 2 - i:
print(" " ,end="")
j += 1
k = 0
while k < 2 *(i + 1) - 1:
print("*", end="")
k += 1
print()
i +=1
>>
```
# 函数
定义格式与调用规则:
```python
def 函数名(): # 格式一
函数体
.....
>>函数名() # 调用一
def 函数名(参数1,参数2...): # 格式二
函数体
....
>>函数名(参数1,参数2,...) #调用二
```
顺序规则:
```python
# 函数的调用,只能在定义之后,因为程序自上而下运行
```
函数文档注释:
```python
# 两个函数间 尽量隔两行
def fx():
""" ...函数注释... """
def fx2():
""" ...函数注释... """
```
函数定义的参数:
```python
# 参数一定要一一对应
# 定义的位置,参数只能写变量,直接写数据会报错
# 调用的位置,参数可以是数据,也可是变量
```
形参与实参:
```python
def 函数名(形参):
函数体
....
>>函数名(实参):
# 形参在定义使用,实参在调用使用
# 均需一一对应,否则报错
```
函数定义——返回值
```python
def 函数名(a,b,c): # a,b,c 为变量列表
函数体
...
return 函数运行结果返回值 # 用返回值,继续使用时选择此方法
>>
变量名 = 函数名(a,b,c)
def def 函数名(a,b,c): # a,b,c 为变量列表
函数体
...
return 1 # 同一个函数执行过程中,只能执行一次return 语句,
print("777") # 执行过后,后面内容不再执行,函数执行完毕
....
return 2, 3, 4
a = mul(a,b,c) # 可以接收多个值,变量数量对应即可
```
# 变量作用域
局部变量:函数内部定义的变量,从 <font color = red>定义位置</font> 开始,到 <font color = red>定义结束位置</font> 有效
全局变量:函数外部定义的变量,在 <font color = red>整个文件</font> 中有效
```python
def num1(s1,s2):
s1 = 1 # 局部变量
s2 = 1 + s1
s1 = 1 #全局变量
def num1(s3,s4):
s3 = 1 # 局部变量
s4 = 1 + s3
```
函数间不能共享内部定义的变量
```
# s1 ,s2不能再 def num1()里使用
```
变量转换
```python
global 变量 #更换类型的方式
使用:
global X
x = 10 #global一定要在X的上面,先声明再使用
```
# 函数间调用
可以在一个函数的书写中,加入其他的函数
```python
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
```
|
|