字符串的特性
索引: (索引是从0开始)
s='hello'
print(s[0])print(s[4])print(s[-1]) #拿出最后一个字符h
oo12345678截取s[start:stop:step] 从start开始到stop结束,步长为stepprint(s[0:3])
print(s[0:4:2])print(s[:]) #显示所有的字符print(s[:3]) #显示前3个字符 print(s[1:]) #除了第一个字符之外的其他全部字符print(s[::-1]) #字符串的翻转hel
hlhellohelelloolleh12345678910111213重复print(s * 10)
hellohellohellohellohellohellohellohellohellohello
123连接print('hello ' + 'python')
hellopython
123成员操作符print('he' in s)
print('aa' in s)print('he' not in s)True
FalseFalse1234567for循环遍历for i in s:
print(i)hello12345678-------------练习1------------判断一个整数是否是回文数。
# nmb=input('请输入一个数:')
# nmbs=nmb[ : :-1]# if(nmb == nmbs):# print('此数是回文数')# else:# print('此数不是回文数')123456不用字符串特性# nmb = input('输入数字:')
# c = len(nmb) # b = int(c / 2) # a = 0 # for j in range(b): # if (nmb[a] != nmb[c - 1 - a]): # print('不是回文数') # break # else: # print('是回文数')12345678910字符串的常用方法判断是否是标题、大写、小写、以及大小写、标题的转换、将字符串的首字母大写其余字母全部小写
str.istitle()str.isupper()str.islower()str.title() #将字符串中的所有单词的首字母大写,其余字母全部小写;单词以任何标点符号区分的str.captialize() #将字符串的首字母大写,其余字母全部小写str.upper()str.lower()>>> 'Hello'.istitle()
True >>> 'hello'.istitle() False >>> 'hello'.isupper() False >>> 'Hello'.isupper() False >>> 'HELLO'.isupper() True >>> 'hello'.islower() True >>> 'HELLO'.islower() False >>> 'HELLO'.lower() 'hello' >>> 'hello'.upper() 'HELLO' >>> 'hello'.title() 'Hello'1234567891011121314151617181920前缀和尾缀的匹配filename = 'hello.logrrrr'
if filename.endswith('.log'): print(filename)else: print('error.file')error.fileurl = 'https://172.25.254.250/index.html'
if url.startswith('http://'): print('爬取网页')else: print('不能爬取')不能爬取123456789101112131415去除左右两边的空格,空格为广义的空格 包括:\t \n>>> s = ' hello '
>>> s ' hello ' >>> s.lstrip() 'hello ' >>> s.rstrip() ' hello' >>> s.strip() 'hello' >>> s = '\t\thello \n\n' >>> s '\t\thello \n\n' >>> s.strip() 'hello' >>> s.rstrip() '\t\thello' >>> s.lstrip() 'hello \n\n' >>> s = 'helloh' >>> s.strip('h') 'ello' >>> s.strip('he') 'llo' >>> s.lstrip('he') 'lloh'12345678910111213141516171819202122232425字符串的判断str.isdigit() #全数字
str.isalpha() #全字母str.isalnum() #只有数字和字母-------------练习--------------
判断变量名定义是否合法:
1.变量名可以由字母 数字 下划线组成2.变量名只能以字母和或者下划线开头sname = input('请输入变量名:')
if not (sname[0].isalpha()) or sname[0] == '_': print('illegal')else: a =0 for i in sname: if sname[a] =='_' or sname[a].isalnum(): a += 1 else: print('illegal') break else: print('合法')----------------OR--------------------
# while True: # s = input('变量名:') # if s == 'exit': # print('exit') # break # if s[0].isalpha() or s[0] == '_': # for i in s[1:]: # if not(i.isalnum() or i == '_'): # print('%s变量名不合法' %(s)) # break # # else: # print('%s变量名合法' %(s)) # # else: # print('%s变量名不合法' %(s))12345678910111213141516171819202122232425262728293031字符串的对齐print('jjj'.center(30))
print('jjj'.center(30,'*'))print('jjj'.ljust(30,'#'))print('jjj'.rjust(30,'$'))jjj
*************jjj**************jjj###########################$$$$$$$$$$$$$$$$$$$$$$$$$$$jjj123456789字符串的搜索和替换s = 'hello world hello'
1#find找到子字符串,并返回最小的索引print(s.find('hello'))
print(s.find('world'))print(s.rfind('hello'))123#替换字符串中的hello为westosprint(s.replace('hello','westos'))
1字符串的统计及串长print('hello'.count('l')) 2
print('hello'.count('ll')) 1print(len('westosssss')) 10
1234字符串的分割和连接#分割 通过指定的连接符进行
s = '172.25.254.250'
s1 = s.split('.')print(s1)print(s1[::-1])date = '2019-05-24'
date1 = date.split('-')print(date1)12345678#连接 通过指定的连接符,连接每个字符串print(''.join(date1))
print('/'.join(date1))print('~~'.join('hello'))123-------------练习--------------#小米笔试练习:给定一个句子(只有字母和空格,单词用一个空格隔开)将句子中单词的位置反转
# while True:
# str = input('请输入句子: ')# if str == 'exit':# exit()# else:# str1 = str.split(' ')# print(' '.join(str1[::-1]))1234567-------------练习---------------#设计程序:帮助小学生练习10以内的加法
#detail:随机生成加法题目,学生查看题目并输入答案,判别,退出统计答题总数,正确数,正确率# import random
# a=0# b=0# while True:# str = input('答题:y or n ')# if str == 'n':# print('答题总数为%d,正确数为%d,正确率为%.2f' %(a,b,b/a))# exit()# else:# nmb1 = random.randint(0, 10)# nmb2 = random.randint(0, 10)# jug = nmb1 + nmb2# print('%d + %d=' % (nmb1, nmb2), end='')# ans = int(input())# if ans == jug:# b+=1# print('正确')# else:# print('错误')# a+=1#123456789101112131415161718192021------------练习-------------#设计程序:百以内的算术练习
#功能:提供10道±*/题目,练习者输入答案,程序自动判断并显示import random
opt = ['+', '-', '*', '/']print('开始答题:')for i in range(10): nmb1 = random.randint(0, 100) nmb2 = random.randint(0, 100) f = random.choice(opt) print('%d%s%d= ' % (nmb1, f, nmb2),end='') ans = int(input( )) if (f == opt[0]): jug = nmb1 + nmb2 elif (f == opt[1]): jug = nmb1 - nmb2 elif (f == opt[2]): jug = nmb1 * nmb2 else: jug = nmb1 / nmb2 if ans == jug: print('正确') else: print('错误')123456789101112131415161718192021