while的嵌套
while进行嵌套时,第一个whi代表的是外层循环控制,第二个是内部循环控制。
eg:打印小星星
row=1
#外层循环控制行
while rou <=5:
col=1
#内层循环控制列
while col <=row:
print(" * " ,end=" “)
col+=1
print()
row+=1
eg:打印乘法表
i = 1
while i <= 9:
l = 1
while l <= i:
print(”%d*%d=%d" % (l, i, i * l), end=" “)
l+=1
print()
i += 1
2、for循环
for循环可以遍历任何有序的序列对象的元素。
range()函数
range(start,stop,step)函数默认产生一个从0开始的一个整数列表。
start:表示整数开始的位置
stop:表示整数结束的位置,但是不包含此值。
step:表示步长。默认为1。
嵌套for循环:
eg:空心矩形
for i in range(5):
for l in range (5):
if i0 or l0 or l4 or i4:
print(”*",end=" “)
else :
print(” “,end=” “)
print()
函数:定义一个函数
定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个”:"。
def 是固定的,不能变,他就是定义函数的关键字。
空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。
函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能
括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!
注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。
调用:就是 函数名() 要记得加上括号。
2、定义一个带有参数的函数
3、定义带返回的函数
所谓的返回就是程序中函数完成一件事情后,最后给函数的调用者。调用者根据需求利用返回值做出不同的操作。
return也可以反回多个值
return 只有两个作用:
1,结束整个函数。
2,给函数的执行者(调用者)返回值
二、函数的参数
在Python中函数参数的定义有四种
1、位置参数
在传参的时候,实参传递的顺序按照形参定义的顺序进行传递的传参方式。
def sum(num1,num2):
total=num1+num2
print(total)
sum(32,43)
2、关键字参数
def sum(num1,num2):
total=num1+num2
print(total)
sum(num2=32,num1=43)
3、默认参数
当某个值不发生变化的时候,可以采用默认值。
4、可变参数
如果函数中的参数过多,我们定义起来非常的麻烦,调用也很麻烦,因此可以使用可变函数。能处理比当时声明时更多的参数,会将传入的参数变成元组(*args)或者(**kwargs)
(1)元组参数 arge
通过在形参前面加上使参数变成一个元组,所传递的参数变成元组的元素
def func (*arges):
print(arg)
print(args[0],args[1])
func(1,2,3,4)
注意:args参数名称可以任意命名,但是一般我们叫他args。
(2)字典参数 **kwargs
通过给形参前面添加 “ * * ”使参数变成一个字典,所有穿的的参数变成字典的链值对,这里传参要求链等于值得形式。
-
- kwargs 结果类型是字典,传递至是key=value方式传入
三、函数的嵌套及调用
1、函数的嵌套
函数的里面在套用另一个函数。
2.递归函数
一个函数在内部调用自己,这个就是递归函数。
使用递归函数的条件:
1.必须留出口
2.自己调用自己
练习1、使用递归函数求阶乘
练习2、实现斐波那契数列
- kwargs 结果类型是字典,传递至是key=value方式传入
练习1、
def jiecheng(num):
if num==1:
return 1
red=jiecheng(num-1)
return (num*red)
reslt=jiecheng(10)
print(reslt)
练习2、
def feibo(num):
a=1
b=1
while num>0:
print(b,end=" ")
a,b=b,a+b
num-=1
feibo(10)