文章目录
字符串的定义
a = 'westoss' ##定义单个字符串
b = 'hellow'
c = what\'s up ##\转译'
e=""" ##
用户管理系统
1.添加用户
2.删除用户
3.显示用户
"""
字符串的特性
索引(index)
a = 'westoss'
print(a[0]) a[0]为a字符变量中第1个字符 输出为:w
print(a[1]) a[1]为a字符变量中第2个字符 输出为:e
print(a[2]) a[2]为a字符变量中第3个字符 输出为:s
print(a[3]) a[3]为a字符变量中第4个字符 输出为:t
切片 (cut)
a = 'westos'
print(a[0:3]) ##输出前三位 结果为:wes
print(a[1:3]) ##输出二三为 结果为:es
print(a[:]) ##输出a的全部字符 结果为:westos
print(a[3:]) ##输出a的后三位 结果为:tos
print(a[:3]) ##输出a的前三位 结果为:wes
print(a[0:5:2]) ##输出前五位中第一位开始,相隔一位输出,结果为:wso
print(a[::-1]) ##将a倒序输出 结果为:sotsew
重复(repeat)
a = 'westos'
print(a * 2)
运行结果:
连接(link)
a = 'westos'
print('hello' + 'world')
输出结果:
成员操作符
a = 'westos'
print('a' in a) ## 判断a是否在a字符变量中
print('o' in a) ## 判断a是否在a字符变量中
输出结果:
演示:
判断输入数是否为回文数:
Num = input('Num:')
if Num == Num[::-1]:
print('True')
else:
print('False')
运行结果:
字符元素的常用内置方法:
print('westos'.isdigit()) ##判断westos是否为数字
print('westos'.isalpha()) ##判断westos是否为字母
print('westos'.islower()) ##判断westos是否为小写字母
print('westos'.isupper()) ##判断westos是否为大写字母
print('Westos'.istitle()) ##判断Westos是否为标题(判断第一个元素是否为大写,并其他元素无大写)
print('WesTos'.istitle()) ##判断WesTos是否为标题
print('westos'.upper()) ##将westos转化为大写输出
print('WEStos'.lower()) ##将WEStos转化为小写输出
print('westos'.isalnum()) ##判断westos是否为数字或字母
运行结果:
.endwith() .startwith()
- 以字符开头或者结尾字符查找匹配目标字符:
filename = 'westos.sh'
if filename.endswith('.sh'): ##以.sh结尾
print(filename)
输出结果:
filename = 'westos.sh'
if filename.startwith('.westos'): ##以westos开头
print(filename)
输出结果:
.strip()
- 使用.strip()可以去掉字符串开头和结尾的空格:
a = ' abcd '
print(a)
print(a.strip())
运行结果;
- 使用.lstrip()可以去掉字符串左边的空格:
a = ' abcd '
print(a)
print(a.strip())
运行结果:
- 使用.rstrip()可以去掉字符串左边的空格:
a = ' abcd '
print(a)
print(a.strip())
运行结果:
- 可以用.strip()可以去除字符串中的想去除的元素:
a = 'abcd'
print(a)
print(a.strip('d')) ##去掉字符变量中的d
print(a.strip('ad')) ##去掉字符变量中的ad
运行结果:
演示:
判断变量名称是否合法:
while 1:
name = input('name:')
if name[0].isalpha() or name[0] == '_':
if name[1:].isalnum() or '_' in name[1:]:
print('name %s is ok!'%name)
else:
print('name %s is bad!' % name)
else :
print('name %s is bad!'%name)
运行结果:
.find()
- 使用.find()可以对子字符串进行查找:
.find() 返回最小索引值
.rfind() 返回最大索引值
str = 'hello thank you'
print(str.find('hello')) ##查找hello字符串,返回最小索引值
print(str.find('thank')) ##查找thank字符串,返回最小索引值
print(str.find('you')) ## 查找you字符串,返回最小索引值
print(str.rfind('hello')) ##查找hello字符串,返回最大索引值
运行结果:
.replace()
str = 'hello thank you hello' ##替换str字符串中的hello为xiaomi
print(str.replace('hello','xiaomi' ))
运行结果:
.center()
print('公寓管理系统'.center(50))
print('公寓管理系统'.center(50,'#'))
print('公寓管理系统'.center(60,'*'))
print('公寓管理系统'.ljust(60,'*')) ##左对齐
print('公寓管理系统'.rjust(60,'*')) ##右对齐
运行结果:
.count
print('westos'.count('s')) ##查找westos中s的个数
运行结果:
._ _ len()_ _
测量字符串长度:
print('westos'.__len__())
print(len('hello'))
.split()和.join()
date = '2020-04-19'
westos = (date.split('-')) ##以-为分隔符将date分开成单个元素
print(westos)
print(westos[::-1]) ##可以进行逆序输出
print(''.join(westos)) ##以空为连接符,将westos连接
运行结果:
演示:
count=input('Attendance:')
if count.count('A') <= 1:
if count.count('LLL') < 1:
print('True')
else:
print('False')
else:
print('False')
运行结果:
演示:
s = input()
p = ' '.join(s.split(' ')[::-1]) 以空格为分隔符分开倒序,然后以空格连接
print(p)
运行结果:
演示:
s1 = str(input())
s2 = str(input())
for i in s2:
s1 = s1.replace(i,'')
print(s1)
运行结果:
演示:
import random
sum = 0
right = 0
while True:
i = random.randint(0,10)
j = random.randint(0,10)
question = i + j
print('question:%d + %d'%(i,j))
answer = input('answer:')
result = i + j
if answer == str(result):
sum += 1
right += 1
print('True')
elif answer == 'exit':
rate = right / sum
print('共答题%d道,正确%d道 正确率为%.2f%% '%(sum,right,rate*100))
break
else:
sum += 1
print('False')
运行结果: