一、流程控制
"""
流程:程序执行的顺序
流程控制:控制程序执行的顺序
流程控制三种形式:
1、顺序控制(从上往下依次执行)
2、条件控制
3、循环控制
"""
1、顺序控制
print ( "打开冰箱" )
print ( "放进大象" )
print ( "关闭冰箱" )
2、条件控制
1>简单条件控制
"""
if 条件:
满足条件执行的代码
else:
条件不成立时执行的代码
print("条件判断结束")
"""
temp= float ( input ( "请输入你的体温:" ) )
print ( type ( temp) )
if temp> 37.3 :
print ( "不可以进学校" )
else :
print ( "可以进入" )
2>多条件控制
"""
if 条件1:
满足条件1执行的代码块1
elif 条件2:
不满足条件1,但是满足条件2 执行的代码块
elif 条件3:
不满足条件1、2,但是满足条件3 执行的代码块
else:
上述均不满足,执行该代码块
"""
score= int ( input ( "please input your score:" ) )
if score> 90 :
print ( "优" )
elif score> 80 :
print ( "良" )
elif score> 70 :
print ( "中" )
else :
print ( "勉强" )
3>条件嵌套
"""
if 条件1:
执行代码块1
if 条件2:
满足条件1和条件2,执行的代码块
if 条件3:
满足条件1、2、3,执行的代码块
"""
ticket= float ( input ( "请输入是否有票:" ) )
knife_len= float ( input ( "请输入刀的长度:" ) )
if ticket:
if knife_len< 20 :
print ( "进" )
else :
print ( "不能进" )
3、循环控制:往复执行某段代码
1>while循环
"""
while 条件:
条件满足时执行的代码块
如果条件永远成立,循环变成死循环
"""
money= 0
year= 0
while money< 100000000 :
print ( "第{}年学习、工作、赚钱" . format ( year) )
money+= 300000
year+= 1
if year== 60 :
break
if year% 12 == 0 :
year += 1
continue
print ( "一共需要多少年" , year)
print ( "一共赚到多少钱" , money)
2>for循环
"""
XX是可迭代对象---字符串是可迭代对象
for tmp in XX:
print(tmp)
"""
for tmp in range ( 0 , 10 ) :
print ( tmp, end= ' ' )
for i in range ( 1 , 10 ) :
for j in range ( 1 , i+ 1 ) :
print ( '%d*%d=%d' % ( i, j, i* j) , end= '\t' )
print ( '\n' )
for i in range ( 1 , 10 ) :
for j in range ( i, 10 ) :
print ( "{}*{}={}" . format ( i, j, i* j) , end= '\t' )
print ( '\n' )
二、函数
"""
减少代码的重复
def 函数名([参数1,参数2...]):
函数体(代码段)
[return xxx]
函数:先定义,后调用;不调用,不执行
"""
1、函数声明
def show_sep ( str1) :
print ( str1. center( 60 , '*' ) )
2、函数调用
show_sep( "开始学习" )
3、函数参数
show_sep( "函数参数" )
def add ( a, b= 0 ) :
print ( "{}和{}相加等于{}" . format ( a, b, a+ b) )
1>位置参数,实参和形参一一对应
add( 10 , 20 )
2>关键字参数(在函数调用时设置)
add( b= 20 , a= 10 )
3>默认参数(在函数定义时设置)
add( 10 )
add( 10 , 20 )
4>变长度参数(在函数定义时设置)
def add_multi ( * args) :
print ( type ( args) )
sum1= 0
for tmp in args:
sum1+= tmp
print ( tmp, end= ' ' )
print ( "多个数值相加等于" , sum1)
add_multi( 10 , 20 , 30 , 40 )
5>可变长度参数2(在函数定义时设置)
def show_info ( ** kwargs) :
print ( type ( kwargs) )
print ( kwargs)
for tmp in kwargs:
print ( tmp)
show_info( name= "张三" , age= 20 )
def add ( * args, a= 10 ) :
print ( a)
print ( args)
add( 10 , 20 , 30 )
def add ( a= 10 , * args) :
print ( a)
print ( args)
add( 10 , 20 , 30 )
def add ( * args, ** kwargs) :
print ( kwargs)
print ( args)
add( 10 , 20 , 30 , name= "张三" , age= 20 )
4、函数返回值
def fun ( * args) :
sum1= 0
for tmp in args:
sum1+= tmp
mean1= sum1/ len ( args)
return sum1, mean1
res= fun( 10 , 30 )
print ( res)
5、递归函数
1>阶乘
def jiecheng ( n) :
if n== 1 :
return 1
else :
res= n* jiecheng( n- 1 )
return res
res= jiecheng( 3 )
print ( res)
2>斐波那契数列
def fibo ( n) :
if n== 1 or n== 2 :
return 1
else :
return fibo( n- 1 ) + fibo( n- 2 )
res= fibo( 4 )
print ( res)
三、列表
"""
列表
定义[元素1,元素2,....]
可以修改的有序序列
"""
1、定义一个空列表
list1= list ( )
print ( list1)
print ( type ( list1) )
list2= [ "张三" , "里斯" , 12 , 34 , 0.08 , True ]
print ( list2)
2、列表的加法和乘法
list3= [ "hah" , "heih" ]
print ( list2+ list3)
print ( list3* 2 )
print ( [ None ] * 2 )
3、增删改查
1>查-----和字符串完全一致,下标法和切片法
list2= [ "张三" , "里斯" , 12 , 34 , 0.08 , True ]
print ( list2[ 2 ] )
print ( list2[ 2 : 4 ] )
print ( list2[ 0 : 2 ] )
print ( list2[ 0 ] )
print ( list2[ 0 : 1 ] )
2>增
"""
1>用+ 的形式
2>append:会将追加的内容(数据)作为一个整体,添加到列表中
作为列表中的一个新元素
3>extend:将增加的数据拆分成单个元素,添加到列表中;
必须传递可迭代对象(是否可以提取元素)
4>insert:在指定的位置增加元素
"""
list3= [ "haha" , "xixi" ]
list3. append( "hehe" )
list3. append( [ "pp" , "qq" ] )
list3. append( 1 )
print ( list3)
list3= [ "haha" , "xixi" ]
list3. extend( [ "pp" , "qq" ] )
print ( list3)
list3= [ "haha" , "xixi" ]
list3. insert( 1 , "hehe" )
list3. insert( 100 , [ "pp" , "qq" ] )
print ( list3)
3>改:可以针对某个索引的元素,也可以修改某一段
list3= [ "haha" , "xixi" , 1 , 2 , 3 , 4 ]
list3[ 0 ] = [ "aa" , "bb" ]
list3[ - 4 : ] = [ 11 , 12 ]
print ( list3)
4>删
"""
1>pop:返回最后一个元素,并且将最后一个元素从列表中删除
2>remove:删除指定元素
3>del
"""
list4= [ "张三" , "里斯" , 12 , 34 , 0.08 , True ]
list4. pop( )
list4. remove( 12 )
del list4[ 0 ]
print ( list4)
5>查找
list4= [ "张三" , "里斯" , 12 , 34 , 0.08 , True ]
ind= list4. index( "里斯" )
print ( list4[ ind: ] )
6>count:统计某元素在列表中存在的次数
7>翻转
list4= [ "张三" , "里斯" , 12 , 34 , 0.08 , True ]
list4. reverse( )
print ( list4)
8>排序
list5= [ - 1 , - 3 , - 2 , 100 ]
list5. sort( key= abs )
print ( list5)