Python
逻辑判断和循环
逻辑判断
-
if elif else条件判断
- if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
- if <条件判断1>:
-
if嵌套的格式
- if 条件1:
满足条件1 做的事情1
满足条件1 做的事情2
…(省略)…
if 条件2:
满足条件2 做的事情1
满足条件2 做的事情2
…(省略)…
说明:
外层的if判断,也可以是if-else
内层的if判断,也可以是if-else
根据实际开发的情况,进行选择
- if 条件1:
-
注意:
- input陷阱:
循环结构
-
while循环:
- while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
pass 和while没有关系
- while 条件:
-
for循环:
-
for 临时变量 in 列表或者字符串等:
循环满足条件时执行的代码
else:
循环不满足条件时执行的代码- range(1,10,2)
-
-
实例(九九乘法表):
i = 1
while i < 10:
j = 1
while j <= i:
print("%d*%d=%d" % (j, i, j * i), end="\t")
if (j == i):
print()
j += 1
i += 1
- for循环:
- for i in range(1, 10):
for j in range(1, i + 1):
print("%d*%d=%d" % (j, i, j * i), end="\t")
if (j == i):
print()
break和continue:
-
break:
- 在循环中,break语句可以提前退出当层循环
-
continue:
- 在循环过程中,也可以通过continue语句,跳过当层的本次循环
集合类型
字符串
-
1、下标索引
- 所谓下标,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间
- 字符串实际上就是字符的数组,所以也支持下标索引
- 起:(左:0,右:-1)
-
2、切片(分片)
-
切片是指对操作的对象截取其中一部分的操作
-
字符串、列表、元组都支持切片操作
-
切片的语法:[起始:结束:步长]
- 步长:表示下标变化的规律(-1为倒序,正整数为顺序,不写为1)
- 注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)
- 注意:[::]([(不写表示从头开始):(不写表示最后):(不写表示步长1)])
-
-
3、字符串常见操作
-
<1>find == java Indexof方法
- 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
- mystr.find(str, start=0, end=len(mystr))
-
<2>index
- 跟find()方法一样,只不过如果str不在 mystr中会报一个异常
- mystr.index(str, start=0, end=len(mystr))
-
<3>count
- 返回 str在start和end之间 在 mystr里面出现的次数
- mystr.count(str, start=0, end=len(mystr))
-
<4>replace
- 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
- mystr.replace(str1, str2, mystr.count(str1))
-
<5>split
- 以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
- mystr.split(str=" ", 2)
-
<6>capitalize
- 把字符串的第一个字符大写
- mystr.capitalize()
-
<7>title
- 把字符串的每个单词首字母大写
- mystr.title()
-
<8>startswith
- 检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
- mystr.startswith(obj)
-
<9>endswith
- 检查字符串是否以obj结束,如果是返回True,否则返回 False.
- mystr.endswith(obj)
-
<10>lower
- 转换 mystr 中所有大写字符为小写
- mystr.lower()
-
<11>upper
- 转换 mystr 中的小写字母为大写
- mystr.upper()
-
<12>ljust
- 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
- mystr.ljust(width)
-
<13>rjust
- 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
- mystr.rjust(width)
-
<14>center
- 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
- mystr.center(width)
-
<15>lstrip
- 删除 mystr 左边的空白字符
- mystr.lstrip()
-
<16>rstrip
- 删除 mystr 字符串末尾的空白字符
- mystr.rstrip()
-
<17>strip —java trim
- 删除mystr字符串两端的空白字符
-
<18>rfind
- 类似于 find()函数,不过是从右边开始查找.
- mystr.rfind(str, start=0,end=len(mystr) )
-
<19>rindex
- 类似于 index(),不过是从右边开始.
- mystr.rindex( str, start=0,end=len(mystr))
-
<20>partition
- 把mystr以str分割成三部分,str前,str和str后
- mystr.partition(str)
-
<21>rpartition
- 类似于 partition()函数,不过是从右边开始.
- mystr.rpartition(str)
-
<22>splitlines
- 按照换行符分隔,返回一个包含各行作为元素的列表
- mystr.splitlines()
-
<23>isalpha
- 如果 mystr 所有字符都是字母 则返回 True,否则返回 False
- mystr.isalpha()
-
<24>isdigit
- 如果 mystr 只包含数字则返回 True 否则返回 False
- mystr.isdigit()
-
<25>isalnum
- 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
- mystr.isalnum()
-
<26>isspace
- 如果 mystr 中只包含空格,则返回 True,否则返回 False.
- mystr.isspace()
-
<27>join
- mystr 中每个字符后面插入list的每个元素后面,构造出一个新的字符串
- mystr.join(list)
-
注意:
- find:找不到返回-1 ,都是从左边找,右边查找r
- index:找不到报错
-
列表
-
1、列表介绍
- Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
-
2、列表的相关操作
-
<1>添加元素("增"append, extend, insert)
-
append
- 通过append可以向列表添加元素
-
extend(+)
- 通过extend可以将另一个集合中的元素逐一添加到列表中
-
insert
- insert(index, object) 在指定位置index前插入元素object
-
-
<2>修改元素(“改”)
- 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
-
<3>查找元素("查"in, not in, index, count)
-
所谓的查找,就是看看指定的元素是否存在
-
in(存在),如果存在那么结果为true,否则为false
-
not in(不存在),如果不存在那么结果为true,否则false
-
index和count与字符串中的用法相同
- a.index(‘a’, 1, 3) # 注意是左闭右开区间,(起始,结束)
-
-
<4>删除元素("删"del, pop, remove)
-
del:根据下标进行删除,其实可以删除所有变量
- del list[0]
-
pop:默认删除最后一个元素
- list.pop(指定位置)
-
remove:根据元素的值进行删除第一个
- list.remove(123)
-
-
<5>排序(sort, reverse)
-
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小
- list.sort(reverse=True)
-
reverse方法是将list逆置
- list.reverse()
-
-
<6>enumerate()
- for i, v in enumerate(list):
print(i, v)
- for i, v in enumerate(list):
-