字符串创建
\n代表换行, \t代表一个tab键
print("hello", end='\n') # hello
print('hello python') # hello python
end指定分隔符的, 默认情况下为\n;可以修改为其他字符
print("hello java", end=',')
print("hello c++")
执行结果 : hello java,hello c++
也可以使用”“” “”” 三个引号
print("""
学生管理系统
1. 添加学生信息
2. 删除学生信息
""")
可以使用’\’对特殊字符进行转义
字符串的特性
索引
s = 'hello'
#正向索引
print(s[0]) # h
print(s[4]) # o
#反向索引
print(s[-1]) # o
切片
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[-1:]) #显示最后一个字符
重复
print('*'*10+'学生管理系统'+'*'*10) #**********学生管理系统**********
连接
name = 'Go'
print("hello "+"world") # hello world
print("hello %s" %(name)) #hello Go
print("hello "+name) #hello Go
成员操作符
s="hello"
print('h' in s) # True
print('hol' in s) # False
print('hol' not in s) # True
for 循环
s = 'hello'
for i in s: # 依次遍历字符串s的每一个元素i='h', 'e', 'l', 'l', 'o'
print(i+'a', end='|') # ha|ea|la|la|oa|
回文数的练习
题目要求:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
num = input("请输入一个数字:")
new_num = num[::-1]
if num == new_num:
print('true')
else:
print('false')
也可以用三元运算完成
num = input("请输入一个数字:")
print('true' if num == num[::-1] else 'false')
字符串的常用方法
s = "HeLlo"
print(s.islower()) #字符串中只有小写字母
print(s.isupper()) #字符串中只有大写字母
print(s.isalnum()) #字符串中有字母或数字
print(s.isalpha()) #字符串中有字母
print(s.isdigit()) #字符串中有数字
print(s.isspace()) #字符串中有无空格
print(s.istitle()) #是否为标题?第一个字母大写,其他字母小写
print(s.lower()) #将字符串全部转换为小写
print(s.upper()) #将字符串转换为大写
print("hello".title()) #将字符串转换为标题
判断变量名的合法性
#先判断第一个字符是否合法
var = input("请输入一个变量:")
if var[0].isalpha() or var[0] == '_':
#判断剩余字符是否合法
for i in var[1:]:
if not (i.isalnum() or i == "_"):
print("变量不合法")
break
else:
print("变量合法")
else:
print("变量不合法")
for while 与else的配合使用
count = 0
while count<3:
name = 'root'
psswd = 'root'
username = input("usernaem:")
password = input("password:")
if name == username and psswd == password:
print("登录成功")
break
else:
count += 1
else:
print("登录次数超过三次")
print(s.find('python')) # 找到子串并返回最小的索引值
print(s.rfind('python')) # 找到子串并返回最大的索引值
s = "slslsdf"
print(len(s)) #字符串的长度
替换字符串的字符
s = 'hello python, ok, python is a program language.python'
print(s.replace('hello','westos'))
删除字符串中的空格
s = ' sdfs sdf '
print(s.strip()) #删除字符串左边和右边的空格
print(s.lstrip()) #删除字符串左边的空格
print(s.rstrip()) #删除字符串右边的空格
#想要删除字符串中间的空格,可以用空字符替换
print(s.replace(" ",""))
字符串对齐
s = '学生管理系统'
print(s.center(30)) #居中,默认是空格填充
print(s.center(30,'*')) # 居中指定填充的字符
print(s.ljust(30,'*')) #向左对齐
print(s.rjust(30,'*')) #向右对齐
统计子串的个数
s = 'hello'
print(s.count('l'))
字符串以什么开头,以什么结尾
url1 = 'http://www.baidu.com'
url2 = 'https://www.baidu.com'
print(url1.startswith('http://')) #True
print(url1.startswith(('http://', 'file://', 'https://'))) #True
判断一个文件是不是一个图片
print(filename.endswith(('.png', '.jpg')))
找出/var/log目录下,以.log结尾的文件
import os
for filename in os.listdir('/var/log'):
if filename.endswith('.log'):
print(filename)
else:
print('%s不是以.log结尾的文件' %(filename))
用户输入一个ip判断ip是否合法
IP = input("请输入ip地址:")
s = IP.split('.')
if len(s)>=5:
print(IP+"不合法")
else:
for i in s:
ip = int(i)
if not 0<ip<=255:
print(IP+"不合法")
break
else:
print(IP+"合法")
info = '12+23+23'
new_info = info.replace('+','*')
print(eval(new_info)) #用于计算字符串的值
反转一个字符串
s = 'this is python'
print(s.split()[::-1]) #输出结果['python', 'is', 'this']
#找出字符串中的最大和最小值,是根据ASCII来排序
print(max('hello'))
print(min('hello'))
枚举
for i in enumerate('hello'):
print(i)
输出结果:
(0, ‘h’)
(1, ‘e’)
(2, ‘l’)
(3, ‘l’)
(4, ‘o’)
for index,value in enumerate('hello'):
print('%s->%s' %(index, value))
zip:第一个字符串和第二个字符串的值一一对应
s1 = 'hello'
s2 = '12345'
for i in zip(s1,s2):
print(i)
输出结果:
(‘h’, ‘1’)
(‘e’, ‘2’)
(‘l’, ‘3’)
(‘l’, ‘4’)
(‘o’, ‘5’)
求最大公约数和最小公倍数
num1 = int(input('number1:'))
num2 = int(input('number2:'))
min_num = min(num1,num2)
max_num = max(num1,num2)
for i in range(min_num,0,-1):
if min_num%i == 0 and max_num%i == 0:
break
print("%d和%d的最大公约数是%d" %(min_num,max_num,i))
print("%d和%d的最小公倍数数是%d" %(min_num,max_num,(max_num*min_num)/i))
练习题:输入一行字符串, 分别统计出包含英文字母,空格,数字和其他字符的个数
s = input('请输入一个字符串:')
alp = num = space = otehr = 0
for i in s:
if i.isalpha():
alp += 1
elif i.isnumeric():
num += 1
elif i.isspace():
space += 1
else:
otehr += 1
print("""
%s的统计
英文字母个数:%d
空格个数:%d
数字个数:%d
其他个数: %d
""" %(s,alp,num,space,otehr))