一. 判断
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开始)
| 0 | 1 | 2 | 3 |
|---|---|---|---|
| a | b | c | d |
| -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)