第三章(循环)
while循环的基础运用
whie 条件(布尔类型): 条件满足时候,做事情1 条件满足时候,做事情2 ......(只要条件满足,会无限循环执行)注意事项
- 条件需要提供布尔类型,True继续,Flase停止
- 空格缩进不能忘
- 请规划好循环终止条件,否则会无限循环
i=0j=0while i<101: j=j+i i=i+1print(j)5050while循环的基础案例
猜数字游戏实现
设置一个范围 1-100 的随机整数变量,通过 while 循环,配合 input 语句,判断输入的数字是否等于随机数。
功能要求
- 无限次机会,直到猜中为止
- 每一次猜不中,会提示大了或小了
- 猜完数字后,提示猜了几次
import randomnum = random.randint(1, 100)import randomnum =random.randint(1,100)ci=0guess=int(input("cai"))while guess!=num: if guess>num: print("dale") else: print("xiaole") ci+=1 guess=int(input("zaicai"))print(ci)print(guess)while循环的嵌套
- 注意首行空格缩进
- 注意条件的设置,避免出现无限循环
补充
print("hello",end='')print("world")结果
helloworldprint("itzhong\tbest")print("hello\tworld")结果:
itzhong besthello world实例
i=1while i<10: j=1 while j<=i: print(f"{j}*{i}={j*i} \t",end='') j=j+1 i=i+1 print()结果
1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81For循环
for x in i:# x是临时变量,i是待处理的数据集 执行的代码列如
name="zcw"for x in name: print(x)结果
zcw实例
看我的名字有多少个g
name="zhongchongwang"y=0for x in name: if x=="g": y=y+1print(y)结果
3range语句
range语法的功能是获得一个数字序列
我现在的用range的目的是确定for循环的场景
range的语法格式是:
- range(num)# 从0开始到num结束,不包含num
- range(num1,num2)# 从num1开始到num2结束,不包含num2,步长是1
- range(num1,num2,step)# 从num1开始到num2结束,不包含num2,步长以step为准
比如
for x in range(10): print(x,end="")0123456789比如
for x in range(5,10): print(x,end="")56789比如
for x in range(0,10,2): print(x,end="")02468实例
for i in range(1,10): for j in range(1,i+1): print(f"{j}*{i}={j*i} \t",end='') print()结果
1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=161*5=5 2*5=10 3*5=15 4*5=20 5*5=251*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=361*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=491*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=641*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81break和continue
continue的作用:中断所在循环的当前执行,直接进入下一次 break的作用:直接结束所在循环 注意: coutinue和break,在for和while循环一致 coutinue和break,在嵌套循环中,只能作用所在循环上,无法对上层循环起作用
实例
j=0for i in range(1,21): import random num = random.randint(1, 10) if num>=5: j+=1 print(f"员工{i},发工资1000,账户余额还有{10000-1000*j}") if 10000-1000*j==0: print("工资发完了") break else: print(f"员工{i},绩效{num}低于5不发工资")结果
员工1,发工资1000,账户余额还有9000员工2,发工资1000,账户余额还有8000员工3,发工资1000,账户余额还有7000员工4,发工资1000,账户余额还有6000员工5,绩效1低于5不发工资员工6,发工资1000,账户余额还有5000员工7,发工资1000,账户余额还有4000员工8,发工资1000,账户余额还有3000员工9,发工资1000,账户余额还有2000员工10,绩效4低于5不发工资员工11,绩效1低于5不发工资员工12,绩效3低于5不发工资员工13,发工资1000,账户余额还有1000员工14,绩效2低于5不发工资员工15,发工资1000,账户余额还有0工资发完了第四章
函数的初体验
函数是:组织好的,可重复使用的,用来实现特定功能的代码块 使用函数的好处:
- 将功能封装到代码内,可供随时随地的重复利用它
- 提高代码复用率,减少重复代码,开发效力提高
函数的定义
函数的定义:
def 函数名(传入参数): 函数体(要做的事) return 返回值函数使用步骤:
- 先定义函数
- 后调用函数
注意事项:
- 参数不需要,可以省略
- 返回值不需要,可以省略
实例:
def nihao(): print("hello world")nihao()hello world函数的传入参数
函数传入参数的作用是:在函数运行时,接受外部传入的数据 使用方法:
def add(a,b): result = a+b print(f"{a} + {b} = {result}")注意事项:
- 函数定义的参数叫做形式参数
- 函数调用的参数叫做实际参数
- 函数的参数数量不限,但是要用逗号隔开
- 传入参数时候,要和形式参数一一对应,且用逗号隔开
案例:
def care(a): if a>37.5: print(f"高烧{a}") else: print(f"正常{a}")care(float(input("输入你的温度")))输入你的温度36.4正常36.4函数的返回值
函数返回值:函数执行完成后,返回给调用者的结果 返回值的应用语法:使用关键字return来返回结果 注意:函数体遇到return就结束,所以写在return后的代码都不执行
def 函数(参数,...): 函数体 return 返回值变量=函数(参数,....)函数返回值之None类型
None:None是类型‘NoneType’的字面量,用来表示空的,无意义的 函数如何返回None:
-
不使用return语句即返回None
def add(a,b):result = a+bprint(add(1,3),type(add(1,3)))None <class 'NoneType'> -
主动return None
def add(a,b):result = a+breturn Noneprint(add(1,3),type(add(1,3)))None <class 'NoneType'>
使用场景:
-
函数的返回值
-
if判断
def check(a):return Noneif not check(15):print("未满18岁")未满18岁 -
有的变量在定义时候,不想给其初始值,可以用None代替一下
函数的说明文档
函数的说明文档的作用:对函数进行说明,便于更好理解函数的功能和作用 定义语法:
def add(x, y): """
:param x: 参数x的说明 :param y: 参数y的说明 :return: return返回值的说明 """ result = x + y# 函数体 return result#返回值函数的嵌套调用
嵌套调用是在一个函数中,调用另外一个函数
执行流程:函数A中执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容
变量正函数中的作用域
1. 什么是局部变量:
作用范围在函数内部,在函数外部无法使用
def nihao(): a=10print(a)nihao()File "D:\PythonProject\test.py", line 3, in <module> print(a) ^NameError: name 'a' is not defined2. 什么是全局变量:
在函数内部和外部均可使用
a=0def nihao(): a=10print(a)nihao()0(此时局部变量不会影响全局变量)3. 如何将函数内定义的变量声明为全局变量:
使用 global 关键字,global 变量
a=0def nihao(): global a a=10nihao()print(a)10注意:
a=0def nihao(): global a a=10print(a)0结果是0为什么呢?
函数 nihao() 虽然定义了,但从未被调用。
因此,尽管函数内部有 global a 和 a = 10,但由于函数没有执行,全局变量 a 的值仍然是初始的 0。
所以 print(a) 输出的是 0。