python3中常用的字符串方法(method)
方法的调用语法:
对象.方法名(方法传参)
说明:
方法的调用同函数调用一样属于表达式。
示例:
'abc'.isalpha() # 判断'abc'是否全为英文字母
123.isalpha() # 错的,123没有isalpha方法
常用方法见:
python_base_docs_html/str_180408102847.html
示例:
>>> "ABC".center(10)
' ABC '
>>> "ABC".center(20, '#')
'########ABC#########'
>>> S = "hello world"
>>> S.count('ell')
1
>>> S.count('o')
2
>>> S.count('o', 6)
1
>>> S = "hello world"
>>> S.find('wor')
6
>>> S.find('ll')
2
>>> S.find('llabcd')
-1
>>> S = "ABC123.txt"
>>> S.startswith('ABC')
True
>>> S.startswith('hello')
False
>>> S.endswith('.txt')
True
>>> S.endswith('.mp3')
False
字符串方法练习
输入一个字符串:
1. 判断您输入的字符串的有几个字符'e'
2. 判断您输入的有几个空格
3. 判断您输入的字符串是否以问号'?'结尾
字符串格式化表达式
作用:
生成一定格式的字符串
运算符
%
语法格式:
格式化字符串 % 参数值
或
格式化字符串 % (参数值1, 参数值2, ...)
示例:
fmt = "姓名: %s, 年龄: %d"
name = "张飞"
age = 20
print(fmt % (name, age))
占位符和类型码见:
python_base_docs_html/str_????.html
占位符 % 和类型码之间的格式语法:
% [格式语法] 类型码(d,s,f等)
格式语法:
- 左对齐
+ 显示正负号
0 补零
宽度
宽度.精度
示例:
"%10d" % 123 # ' 123'
"%-10d" % 123 # '123 '
"%10s" % "abc" # ' abc'
"%-5s" % 'abc' # 'abc '
"%+10d" % 123 # ' +123'
"%010d" % 123 # '0000000123'
"%.2f" % 3.1415926535897932 # '3.14'
"%7.2f" % 3.1415926535897932 # ' 3.14'
练习:
1. 输入三行文字,让这三行文字依次以20个字符的宽度右对齐输出.
如:
请输入第1行: hello world
请输入第2行: abcd
请输入第3行: a
打印结果:
hello world
abcd
a
做完上面的题再思考:
能否以最长字符串的长度进行右对齐显示,左侧填充空格
循环语句(有两种):
while 语句
for 语句
问题:
请输一个整数n,让程序输出n行的
hello 1
hello 2
...
hello n
while 语句
作用:
根据一定条件,重复的执行一条语句或多条语句
语法:
while 真值表达式:
语句块1...
else:
语句块2
说明:
1. 先执行真值表达式,测试布尔值为 True 或 False
2. 如果真值表达式的测试值为True,则执行语句1,然后再返回到第1步重复进行测试
3. 如果真值表达式的测试值为False,则执行else子句中的语句块2,然后结束此while语句的执行。如果没有else子句,则直接结束while语句的执行
4. else子句部分可以省略(同if语句类似)
示例见:
while.py
while2.py
练习:
1. 写程序输入一个整数n:
打印n以内的全部大于0的偶数(不包含n)
2. 打印 从零开始的浮点数, 每个数增加0.5,打印出10以内所有这样的数
3. 打印1~20的整数,打印在一行显示,每个数字之间用一个空格分隔:
1 2 3 4 5 6 7 .... 18 19 20
提示: print(n, end=' ')
4. 打印1~20的整数,每行5个数,打印四行,如:
1 2 3 4 5
6 7 8 9 10
...
提示需要嵌入if语句来打印换行符'\n'
5. 用while 语句打印 10~1之间的整数
6. 用while语句实现打印三角形,输入一个整数,表示三角形的宽度和高度,打印出相应的三角形;
如:
请输入三角形宽度: 4
打印结果如下:
*
**
***
****
while 语句的注意事项:
1. 要控制循环的真值表达式的值来防止死循环
2. 通常用真值表达式中的循环变量来控制循环条件
3. 通常在循环语句块内需要改变循环变量来控制循环的次数和变量的走向
while 语句嵌套
while语句本身是语句,和其它语句一样可以嵌套在其它复合语句中(如:if语句,while语句,for语句...的内部)
while 语句嵌套示意:
while 真值表达式:
....
while 真值表达式2:
....
else:
....
else:
....
while 嵌套示例:
打印1~20的整数,打印在一行显示,每个数字之间用一个空格分隔:
1 2 3 4 5 6 7 .... 18 19 20
打印10
示例 见:while_embed.py
练习:
输入一个数,打印指定宽度的正方形:
如:
请输入:5
打印正方形如下:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
如:
请输入:3
打印正方形如下:
1 2 3
1 2 3
1 2 3
break 语句:
作用:
用于循环语句(while, for语句)中,用来终止当前循环语句的执行
说明:
1. 当break语句执行后,此循环语句break之后的语句将不再执行
2. break语句通常和if语句组合使用
3. break语句终止循环时,循环语句的else子句将不会被执行
4. break语句只能终止当前循环的执行,如果有循环嵌套时,不会跳出嵌套的外重循环
5. break 语句只能在循环语句(while或 for语句)内部使用
示例见:
code/break.py
死循环 death loop:
1. 死循环是指循环条件一直成立的循环
2. 死循环通常用break语句来终止循环
3. 死循环的else子句永远不会执行
示例:
用input输入一些文字,当输入三个星号时代表输入结束
打印您刚输入的所有文字(换行时自动加上换行符)
见:
death_loop.py
练习:
1. 用while语句实现打印三角形,输入一个整数,表示三角形的宽度和高度,打印出相应的三角形;
如:
请输入三角形宽度: 4
打印结果如下:
*
**
***
****
2. 再打印:
*
**
***
****
3. 再打印:
****
***
**
*
4. 再打印:
****
***
**
*
2. 写一个程序。
输入一个开始的整数值用变量begin绑定
输入一个结束的整数值用变量end绑定
打印从begin到end(不包含end)的每个整数(打印在一行内)
如:
请输入开始值: 8
请输入结束值: 30
打印结果:
8 9 10 11 12 ...... 28 29 30
附加思考:
如何实现每5个数字打印在一行内?
3.用while 循环生成如下字符串:
1. 生成'ABCDEFG...... XYZ' 并打印
2. 生成'AaBbCcDdEeFf.....XxYyZz' 并打印
提示:
用chr和ord函数