函数运用

224 阅读10分钟

一. 判断

if(如果)

elif(如果)

else(否则)

1.If

基本结构:只有 如果的情况,如果的条件成立,会执行的代码,会做的事***

基本语法:

If 判断条件:

书写条件成立(真),执行的代码

书写条件成立(真),执行的代码

注意:

①If是一个关键字,和后续的判断条件之间需要一个空格 判断条件后边需要 冒号:,一定不要少!!!

②冒号之后回车,下一行代码需要缩进,再pythoncharm中胡自动进行缩进,一般是4个空格或这 按tab键

③所有在if代码下面的缩进中书写的代码,属于if语句的代码块,判断条件是True的时候会执行

④If代码块中的代码,要么都执行,要么都不执行

⑤If代码块结束之后,代码要顶部书写(不再有缩进),表示是和if无关的代码。(顶格书写,没有缩进的代码,就是说明和if语句无关,不管条件是否成立,都会执行。)

代码案例:

age = input( '请输入年龄:' )
if int(age) >= 18:
print( '满18岁了,可以进入网吧为所欲为了' )
print( '不满18岁,就在家歇歇吧' )   #要顶格写

 

2.if else

如果 条件成立 做什么事  否则(条件不成立)做另一件事

基本语法:

If 判断条件:

书写条件成立(真),执行的代码

书写条件成立(真),执行的代码

Else:

书写条件不成立(假),执行的代码

书写条件不成立(假),执行的代码

注意:

① else 是关键字,后边需要冒号:

② 冒号之后回车,同样缩进

③ 处于else代码下方缩进中的内容,属于else的代码块

④ If和else代码块,只会执行其中的一个

⑤ else需要结合if使用

3.if elif else结构 (elif条件之间有联系)

如果某个判断条件多个,此时建议使用 if elif else结构

基本语法:

If 判断条件1:

     判断条件1成立,执行的代码

elif 判断条件2:(只有判断条件1不成立,才会判断 条件2)

判断条件1成立,执行的代码

else

以上条件都不成立,执行的代码

注意:

①elif是关键字,后边后判断条件之间需要一个空格,判断条件之后需要冒号

②冒号之后回车要缩进,处在这个缩进中的代码表示elif的代码块

③在一个if判断中,可以有很多个elif

④只有if的条件不成立,才会去判断elif的条件

⑤在一个if中,如果有多个elif,只要有一个条件成立,后续所有的都不再判断

4.而if条件之间无联系

基本语法:

if 判断条件1:

     判断条件1成立,执行的代码

if 判断条件2:

判断条件1成立,执行的代码

 

5.if嵌套

 If嵌套,是指一个if(elif else)中嵌套另一个if

(1) 使用场景:判断条件存在递进关系(只有第一个条件满足了,才会判断第二个条件)

基本语法:

If 判断条件1

    判断条件1成立,执行的代码

   If判断条件2:

判断条件2成立,执行的代码

   else:

 判断条件2不成立,执行的代码

else:

判断条件1不成立,执行代码

 

'随机'用以下方法:

import random  
num=random.randint(1,3)  
print(num)

二. 循环

程序开发有中(写代码),有三大流程:

(1)死循环:写代码不小心造成的bug,代码不停地运行下去

(2)无限循:写代码故意让代码无限制去执行,代码一直不停的运行下去

使用场景:不确定循环执行多少次

无限循环的使用一般会在循环中添加一个if条件成立,使用关键字break'来终止循环。

 基本语法:

While True:(无限循环)

   重复执行的代码 (可以在if的上面)

If判断条件:

   Break(表示终止循环)

 重复执行的代码 (可以在if的下面)

书写循环的技巧:

确定这行代码执行几次,如果执行多次,就放在循环的缩进中,如果只执行一次,就不要放在循环的缩进中

 

1.while循环(指定条件)

语法:

①设置循环的初始条件

i=0

②书写循环的判断条件

Whie i < 5:

③需重复执行的代码

Print(‘我爱你’)

④改变循环的初始条件(计数器)

i +=1

或者写成

i=i+1

2.for 循环(也是 for遍历)

遍历:从容器中把数据一个一个取出

容器:可以理解为盒子,盒子中可以存放很多的数据(str 字符串,list 列表,tuple 元祖,dict字典)

语法:

For变量名 in 容器:

重复执行的代码

注意:

①for和in 都是关键字

②容器中有多少个数据,就循环执行多少次(0个数据,0次。。。)

③每次循环,会将容器中数据取出一个保存到in关键字前面的变量中

代码:

#定义字符串*
a= 'bcd'*
*for i in a:
#遍历(循环)字符串 #字符串中有3个字符,那么循环就3次  字符串有几个字符,则循环几次

print( '我爱你' ,i)

代码案例:

1
age = input( '请输入年龄:' )  
if int(age) >= 18:  
    print( '满18岁了,可以进入网吧为所欲为了' )  
else:  
    print( '不满足18岁,回去写作业吧' )
    

例2
admin=input( '请输入用户名:' )  
password = int(input( '请输入密码:' ))  
if admin == 'ee' :  
    print( 'ee' )  
else:  
    print( '用户名错误' )


(1) For 做指定次数的循环

语法:

For 变量名 in range(n):

重复执行的代码

注意:

①range()是python中的函数,作用使用可以生成 [ 0,n)之间的整数,不包含n的,一个有n个数字,所以这个循环n次

②想让for循环 循环多次,n就写几

③变量的值也是每次循环从 [0,n)取出一个值,第一次取得是0,最后取得是n-1

(2)Range()变形

使用for循环获取5-10之间的数字

For 变量名 in range(a,b):

3.重复的代码 break continue

(1) break  continue只能在循环中使用

Break:终止循环,循环不再执行,立即结束

Continue:跳过本次循环,代码执行遇到break,本次循环剩下的代码不再执行,继续下一次循环

三.字符串运用

使用单引号 ’  ‘

双引号 ”  ”

三个单引号 ‘’’   ‘’’

三个双引号 ‘’ ‘’ ‘’    ‘’ ‘’ ‘’

(1)如果字符串本身有’单引号I'm 小明 (就不能用单引号,要用双引号,怕冲突)

my_str=”I’m 小明”

Print(‘my_str’)

(2)如果字符串本身包含’单引号,在定义时候就想用单引号’ 在单引号前面加\

My_str= ‘I \’m 小明’

(3) 字符串前面加上 r,字符串中的特殊符号 不会作为转义字符(不会去掉)

my_str=r 'I\’m 小明‘

或者 my_str=  ‘ I \\’m 小明’

四.下标(索引) :字符在字符串中的位置编号

这个编号一般来说都是 从左到右进行编号的,从0开始(在python中支持负数下表,从右到左进行编号,从-1开始)

0123
abcd
-4-3-2-1

下标作用:可以使用下标获取字符串中的某个位置的字符

五.切片

切片:可以获取字符串多个字符(多个字符的下标是有规律的,等差数列)

语法:

变量名[start : end : step]

start: 是开始位置的下标不能字符串,必须数字

End: 是借宿好位置的下标(不能取到这个位置的字符)

Step:步长,等差数列的 差值 ,所取的相邻字符之间的差值,默认是1,可以不写

例如: [1:5:1] 取到数字是: 1  2  3  4  而5是取不到的

[1:5:2] 取到数字是: 1  3  5     而5是取不到的

[1:5:3] 取到数字是: 1  4

[1:5:4] 取到数字是: 1

六.字符串的查找方法find

语法:

变量名.find(‘查找的内容sub_str ’, start,end)

作用:在字符串中查找是否存在sub_str 这样的字符串

①如果字符串中找到了想要查找的内容,返回这个第一次出现的正数下标(查找内容中第一个字符在大字符串中 的下标)

②如果没有找到想要的查找内容,运行结果是-1

七.字符串替换方法 replace

变量名.replace(要替换的(原来的字符串),替换成(新的字符串),个数) 个数一般不写,默认全部替换

八.字符串变量名.split(sep,max_split) 按字符串sep进行分割(拆分)

Sep:字符串按照什么进行拆分,默认** **空白字符(空格,换行\n,tab键\t)

Max_split : 写分割几次 分割次数一般不写,全部割裂

返回:将一个字符串拆分为多少个,存到列表中

注意: 如果sep不写.想要指定分割次数,则需要按照如下方式使用字符串 split(max_split=n) n代表次数

分割 相当于 去掉 把它换成 逗号

#1.按照 我们字符进行拆分2次
a= '我们 在一起我们 吧'
b=a.split('我们' ,2)  
print(b)  
#2.按照 我们字符进行拆分1次 
b1=a.split('我们' ,1)  
print(b1)  
#3.按照 我们字符进全部拆分
b2=a.split( '我们' )  
print(b2)  
#4.按照 空格字符进行拆分  
b3=a.split()  
print(b3)  
#5.按照 空格字符进行拆分1次  
b4=a.split(maxsplit=1)  
print(b4)  
#6.按照 我空格字符进行拆分2次
b5=a.split(maxsplit=2)  
print(b5)

九.字符串的连接 join

‘ 需要什么进行连接的内容’. join(列表)
括号中的内容主要是列表,可以是其他容器

作用:将字符串插入到列表中每相邻的俩个数据之间,组成一个新的字符串

注意:

(1)列表中的数据 用逗号隔开

(2)列表中的数据必须是字符串,否则会报错

十.列表

(1)List列表是使用最多的一种容器(数据类型)

(2)列表中可以存储多个数据,每个数据之间用逗号隔开

(3)列表中可以存放任意类型的数据

方式一:

用 [ ] 定义,数据之间用英文逗号隔开

Name_list= [ ]

Name_list= [ ‘张三’,’李四’]

方式二:

通过类实例化方式定义

Data_list = list ( )

#1.类实例化方法
# 1.1定义空列表(没有任何 数据的列表)  
# 变量 = list()  
list1=list()  
print(list1,type(list1))  
# 1.2 类型转换 list(容器) 将其他容器转换为列表
#转换字符串会将字符串中的每个字符作为一个数据存入到列表中 
list2=list( 'hello' )  
print(type(list2),list2)  
# 2.直接使用 [ ] 进行定义 (常用)  
# 2.1 定义空列表  
list3=[]  
print(list3)  
# 定义非空列表
my_list = [1, '小明']
*print(my_list)

十一.列表支持下标和切片

方法和字符串中的方法一致方法和字符串中的方法一致

区别:列表的切片得到的 是列表


十二.查找列表中数据下标的方法

1.在字符串中使用 find 方法查找下标,找不到的话(不存在)返回的是 -1

2.列表中没有find方法,想要查找数据的下标,使用idnex()方法

基本语法:

列表.index(数据,start,end)

使用和find方法一夜,同时在字符串中也有index方法

区别:返回 (运行) ,index( )方法,找到返回第一次出现的下标,没有找到的代码直接报错

(一)查找--判断是否存在 in

1.判断容器中某个数据是否存在 可以用使用in关键字

2.数据in 容器 (如果数据存在 返回True,如果数据不存在,返回 False)

(二)查找--统计出现的次数count

1.统计出现的次数,使用的是count( )方法

2.列表.count(数据) 返回出现的次数

(三)添加数据的方法

1.尾部添加(最常用)

(1)列表.append(数据) 将数据添加到列表的尾部

(2)返回:返回none(关键字,空) ,一般不再使用变量来保存返回的内容想要查看添加后的列表,需要打印的是列表

2.指定下标位置添加

(1)列表.insert(下标,数据) 在指定的下标的位置添加数据,如果指定的下标位置本来有的数据,原数据会后移

(2)返回:返回的None(关键字,空),一般不再使用变量来保存返回的内容想要查看添加后的列表,需要打印的是列表

3.列表合并

(1)列表1.extend(列表2) 将列表2中所有的数据诸葛添加的列表1的尾部

(2)返回:返回的None(关键字,空),一般不再使用变量来保存返回的内容想要查看添加后的列表,需要打印的是列表

b=[]  
print(b)  
#1.向列表中添加数据 郭德纲  
b.append( '郭德纲' )  
print(b)  
#2.向列表 尾部 添加数据 郭麒麟  
b.append( '郭麒麟' )  
print(b)  
#3.向列表 下标位置 添加数据 小月月
b.insert(1, '小月月')  
print(b)  
#4. 定义新的列表 list**  
c=[ '孙越' , '于谦' ]  
#4.1 将c中数据添加到b中
b.extend(c)  
print(b)  
#4.2将c作为一个整体添加到b中
b.append(c)  
print(b)