聪明办法学Python Task06&Task07

发布时间 2023-12-02 23:19:35作者: 馍夹咸菜

循环LOOP

for循环

知道循环次数的情况下

for x in range(m,n):

!!!注意:1.range(m,n)中包含x,不包含y(前闭后开);

​ 2.省略第一个参数时,默认起始范围是0;

​ 3.当添加第三个参数时:

​ 第三个参数代表“步长”

​ 如:

for i in range(0,10,2):
    print(i)
输出结果:
0
2
4
6
8

​ 当步长为负数时,要将起始位置和终止位置调换

嵌套的for循环

尽量不用复杂的

while循环

不知道循环什么时候停下来时,可以试试while循环

程序执行到 *while* 处,“当”条件为 True 时,就去执行 while 内部的代码;“当”条件为 False 时,就跳过(或跳出循环)。

语法为:

while 条件:			   #要有冒号

    循环执行的语句			#注意缩进

break与continue语句

break:跳过当前整个循环(离它最近的循环)

continue:跳过本次循环

pass:啥也不做,占位符(不会被运行)

============================================================================

合理的剪枝,缩小搜索范围、循环范围,可以大幅提高程序运行效率。

字符串Strings

引号

引号的作用就是将文字包裹起来,告诉Python“这是个字符串!”

单引号''和双引号""是最常见的两种字符串引号(两种无区别)

字符串中的换行符号

前面有\的字符,叫做转义序列。

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,其可以使紧跟后面的字符原模原样的输出。

比如:

>>> print('I\'m \"OK\"!')
I'm "ok"!
>>> print('\\\n\\n')
\
\n

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容

比如:

>>> print('''z
...z              #...是按回车键自动生成的
...y''')
z
z
y
>>> print(r'''z\n
...z
...y''')
z\n
z
y

一些字符串的运算

字符串的加乘

print("abc+def")
输出结果:abcdef
print("abc*3")
输出结果:abcabcabc

注意:字符串只能和字符串做加法!!!

in运算

print("ring" in "strings")
输出结果:True
print("wow" in "amazing")
输出结果:False

字符串的索引和切片

单个字符串的索引

索引可以让我们在特定位置找到一个字符

s = "zzy"
print(s[0])
输出结果:z
====================================负数索引===================================
print(s[-1])			#从右往左数第一个
输出结果:y

用切片来获取字符串的一部分

s = "zzydmn"
print(s[0:4])		#左边起始,右边终止,左闭右开!
print(s[3:6])
输出结果:
zzy
dmn

切片默认参数

切片第三个参数是step

print(s[:3])		#默认左边是0
print(s[3:])		#默认右边是-1
print(s[:])			#默认为左边为0,右边是-1
输出结果:
zzy
dmn
zzydmn

翻转字符串

s = "zzydmn"
print(s[::-1])
输出结果:nmdyzz

用索引的for循环

for i in range(len(s)):			#s的长度
    print(i,s[i])
输出结果:
0,z
1,z
2,y
3,d
4,m
5,n

也可不用索引,用in

for i in s:
    print(i)
输出结果:
z
z
y
d
m
n

也可使用enumerate()获得元素序号

for idx,i in enumerate(s):
    print(idx,i)
输出结果:
0,z
1,z
2,y
3,d
4,m
5,n

***zip(a,b)可以在一次循环中,分别从a和b里同时取出一个元素

用split()来循环

class_name.split()本身会产生一个新的叫做列表的东西,但是它不存储任何内容

一些跟字符串相关的内置函数

str()函数和len()函数

要计算str包含多少个字符,可以用len()函数:

 >>> len('ABC')
 3

ord()函数:获取字符的整数表示

>>> ord('周')
21608
print(ord('A'))			#A的ascii码的序号
输出结果:65

chr()函数:把编码转换成对应的字符

>>> chr(21608)
'周'

字符串和别名

字符串是不可变的,所以它的别名也是不可变的。

s = "zzy"
t = s			#t只是"zzy"的一个只读别名
s += "dmn"
print(s)
print(t)
输出结果:
zzydmn
zzy

基础文件操作

open()函数

用于打开一个文件,并返回文件对象,在对文件进行处理过程都要使用到这个函数。

open(file,mode)函数主要有file和mode两个参数。其中file为需要读写文件的路径mode为读取文件时的模式,常用的模式有以下几个:

r:以字符串形式读取文件

rb:以二进制的形式读取文件

w:写入文件(会覆盖之前的文件。如果想在文件后面追加内容,可以使用a模式操作)

a:追加写入文件

close():关闭文件

============================================================================

在r与rb模式下:

read():读取整个文件

readline():读取文件的一行

readlines():读取文件的所有行

============================================================================

在w与a模式下:

write():

writelin():