一、字符串创建
# \n代表换行, \t代表一个tab键
# end指定分隔符的, 默认情况下为\n;
# 转义字符;\", \',\n,\t;
二、字符串的特性
1. 索引
# 正向索引
# 反向索引;
2.切片
print(s[0:3]) # start:end ====从start索引开始到end-1个索引结束;
print(s[:3]) # 如果start没有, 则默认从0索引开始;
print(s[2:]) # 如果end没有, 则默认到最后结束;
print(s[0:4:2]) # 0,2; 从0开始, 到4-1结束, 步长为2;
print(s[::2]) # hlo
print(s[:]) # 全部字符
print(s[::-1]) # 反转字符串
print(s[-3:]) # 显示最后三个字符
print(s[-2:]) # 显示最后两个字符
print(s[-1:])
3.重复
4.连接
5.成员操作符
# for循环:
# 依次遍历字符串s的每一个元素,i='h', 'e', 'l', 'l', 'o'
练习:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样
的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
三 字符串常用方法
1.判断字符串
print(s.islower()) 判断是否是小写字母
print(s.isupper()) 判断是否是大写字母
print(s.isalnum()) 判断是否都是字母或数字
print(s.isalpha()) 判断是否都是字母
print(s.isdigit()) 判断是否都是数字
print(s.isspace()) 判断是否都是英文空格
print(s.istitle()) 判断是否都是标题(第一个字母大写, 其他字母小写;)
2.修改字符串
print(s1.lower()) s1字符串修改为小写
print(s1.upper() s1字符串修改为大写
print("hello".title()) hello 修改为标题
3.判断变量名合法性
# 变量名可以由字母,数字或者下划线;# 变量名只能以字母或者下划线开头;s[0]
# 变量名不能是python的关键字: eg: if, elif, else,
# eg: while, for, break,continue,pass
当用户输入一个变量名, 判断该变量名是否合法?
1. 判断变量名的第一个字符是否合法? --- 是否是字母或者下划线
2. 除了第一个字符之外的其他字符; var[1:]
while_for与else的组合
(如果不满足while后面的表达式,则执行else语句;)
4.字符串的搜索与替换
# find找到子串,并返回最小的索引值;
print(s.find('python')) 从左向右查找
# find找到子串,并返回最大的索引值;
print(s.rfind('python')) 从右向左查找
print(len(s)) 子串总长度
# 替换字符串中所有的“hello”为"westos"
5.字符串的处理_删除不必要的字符串
#strip: 删除字符串左边和右边的空格. (空格是广义的: \n,\t,)
# lstrip: 删除字符串左边的空格.
# rstrip: 删除字符串右边的空格.
# 删除中间的空格, 通过replace间接实现删除中间的空格;
# 删除字符串中所有的‘a’字符
用户登陆(输入用户名和密码是误输入空格无影响)
6.字符串对齐
s.center(width[,fillchar])
返回一个长为width的新字符串,在新字符串中原字符居中,其他部分用fillchar指定的符号填充,
未指定时通过空格填充。
s.ljust(30,'*')) 左边添加30个*
s.rjust(30,'*')) 右边添加30个*
7.字符串统计
统计某个字符或某段字符的个数
给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),
那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。
输入: "PPALLP"
输出: True
示例 2:
输入: "PPALLL"
输出: False
8.字符串以什么开头和以什么结尾
print(url1.startswith(('http://', 'file://', 'https://'))) 以'http://'或 'file://'或 'https://开头
print(filename.endswith('.sh')) 以'.sh' 结尾
想找出/var/log/目录中所有以.log结尾的文件名;
9.字符串的连接与分离
连接join
分离split
检测ip是否合法?
计算info的结果;
把加号变成乘号
计算new_info的结果;
对于分离的值进行反转
10.内置方法
max 字符ASCII码值较大的
min 字符ASCII码值较小的
python3中, not支持数值类型比较大小;
枚举:
zip, 第一个字符串和第二个字符串的值一一对应;
求最大公约数和最小公倍数
统计字符串个数
题目描述:输入一行字符串, 分别统计出包含英文字母,空格,数字和其他字符的个数;
2. for循环嵌套:打印9*9乘法表;
for m in range(1,10):
for n in range(1,10):
s = n * m
if (m > n):
print("%s*%s=%s" %(n,m,s),end='\t')
elif m==n:
print("%s*%s=%s" %(n,m,s),end='\n')
else:
break