今天学习了内外层循环以及其他一点知识:
一、内外循环
i=1
while i<=9:
j=1
while j<=9:
print('%d * %d=%d'%(j,i,i*j))
j+=1
print()#作用仅仅是换行一下
i+=1
#这个是一个九九算数表的输出函数,外层循环一遍,内层循环i遍
再来一个
#统计字符串中某个元素的出现个数
a=input('请输入一个字符串:')
i=0
x=0
while i<len(a):#计算a的长度
if a[i]=='a':
x+=1
print(x)#依次打印出x的计数值,最后打印出结果值
i+=1
print(x)
二、for语法
语法结构是 for 临时变量 in 一个字符串:
for i in "sdhaisdhsaidhsaidhsahd":
print(i,end=' ')
#结果是依次输出这个字符串的每一个元素
for i in range(1,10):
print(i,end=' ')
#range(stat,stop,step,end)输出结果却不包含end,即不包含10,步长是相当于间隔几个
#而range(5)却可以输出到5
for i in range(1,10):
for j in range(1,5):
print('*',end=' ')
print()
可以看到for循环是可以进行嵌套的,并且还可以自身循环,不用设置+=的形式
进一步印证
for i in range(5):
for j in range(5):
if i==0 or j==0 or i==4 or j==4:
print('*',end=' ')
else:
print(' ',end=' ')
print()
三、函数
def hello_name(a,b):
print('这是第一个名字:%s,这是第二个名字:%d'%(a,b))
return 1 #return只是作为一个标志值
#调用
print(hello_name('asdasdsa',1))
也就是说函数是可以传入两个参数的,并且return的返回是默认输出的,当函数被执行打印时,return也被打印。
函数的嵌套:
def qiantao1():
print(11)
def qiantao2():
print(22)
qiantao1()
print(22)
def qiantao3():
print(33)
qiantao2()
print(33)
qiantao3()
函数是可以嵌套函数的,但是必须在一个函数的定义中嵌套着另一个函数
关键词参数:
def sun(a,b):
print('这是a的值:%d,这是b的值:%d'%(a,b))
sun(b=5,a=4)
这里的a b都被具体赋值了,如果在函数调用时没有具体赋值函数,那么a b就是形参
a b 是形参
def yes(a,b,c=1):
print('a=%d,b=%d,c=%d'%(a,b,c))
yes(1,2)
yes(1,2,3)
这里的c是个默认参数,如果c被赋值,那么默认的就会被覆盖掉
函数中的元组与字典:
def chuan(a,b,*args,**kwargs):#字典是将参数变成可查阅的关键值
print(a)
print(b)
print(args)
print(kwargs) #{'hahaha': 121, 'heiheihei': 9876}
chuan(2,33,1,2,3,4,5,hahaha=121,heiheihei=9876)
*args是元组传入标志(信号)
**kwargs是字典传入标志,字典是将参数变成可查阅的关键值(等号左边是关键词)
函数定义时顺序:位置参数,元组参数,默认参数,字典参数
形式: def func(a, *arges, name=‘赵四’, *kwarges)
打散函数:
def func(name='zs',age=10):
print(name,age)
dic ={'name':'尼古拉斯·赵四','age':'30'}#尼古拉斯·赵四 30,dic代表一个字典
func(**dic)
打散函数还没有理解,不过按照反推过去的话,就是用函数的方式将元组中的value值输出出来。
以上就是今天的学习,个人拙见,请见谅。