码迷,mamicode.com
首页 > 其他好文 > 详细

字符串操作

时间:2019-10-08 14:46:32      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:int   supper   enc   根据   art   less   expand   北京   改版   

对字符串的操作

#String 内容

a = "Let‘s go"

乘法操作:

  print(‘hellow‘*2)

通过索引获得字符串中字符,这里和列表的切片操作是相同的,具体内容见列表:

  print(‘hellow woeld‘[2:])从位置2取到最后

成员运算符操作,字符中包含给定字符则返回True:

print(‘e2l‘ in ‘hello‘)       存在返回True 不在返回False

例如:

print(123 in [12,123,1111])

结果:True

 

格式化字符串:

  print(‘alex is a good teacher‘)

  print(‘%s is a good teacher‘%‘alex‘)

字符串的拼接:

  a=‘123‘

  b=‘456‘

  c = a+b

  print(c)

结果:

123456

 

拼接:join方法

a=‘123‘

b=‘abc‘

c=‘000‘

d = ‘#####‘.join([a,b,c])

结果:

123####abc####000

 

python内置方法:

 1 #_auther_="stuwu79"
 2 #date:2019/9/27
 3 
 4 st = hello kitty {name} is {age}
 5 st.count("l")#计算‘l‘个数
 6 st.capitalize()#整个字符串首字母大写
 7 st.center(50,-)#(居中)打印50个字符,本身字符串在中间,剩下的两边补上‘-‘
 8 st.rjust(50,"*")
 9 st.ljust(50,"*")#只在左,其他补齐*
10 
11 st.encode()#编码问题
12 
13 
14 st.endswith("y")#判断以什么结尾。正确给True,错误给False
15 st.startswith("h")#判断以什么开头
16 st.expandtabs(tabsize=20)#在字符串中间放\t设定插入空格数
17 
18 st.find(l)#查找第一个元素在字符串的位置并且返回(空格也算位置)
19 st.index(t)#找不到就报错(给 -1)
20 
21 st.format(name = alex,age = 37)#格式化输出的方式
22 st.format_map({name:alex,age:22})#意义相同,方式不同
23 
24 abc456.isalnum()      #不是特殊字符都给True
25 AF00.isdecimal()      #判断是不是10进制
26 
27 12121212.isdigit()    #判断是不是整型
28 121233.isnumeric()    #一样的
29 
30 1121324.isidentifier()#判断是不是非法变量(根据变量命名规则)
31 
32 Abc.islower()#判断是否是全小写(全大写)
33 Abc.isupper()
34 
35     e.isspace()#判断有没有空格
36 adasda.istitle()#判断是不是标题(每个单词首字母大写)
37 adasdad.lower()#所有大写变小写
38 adasda.upper()
39 adasda.swapcase()#翻转,大写变小写。小写变大写
40 
41      asda\n.strip()#前后的空格,换行符全去掉
42          asda\n.lstrip()#只去除左边的
43          asda\n.rstrip()#只去除右边的
44 
45 My title title.replace(itle,lesson,1)#替换,某些内容替换成另一个内容可以控制替换几次
46 My title title.rfind(t)#从右向左找
47 My title title.split( )#以“ ”为分割对象对字符串进行分割(将字符串分割成列表)
48 My title title.title() #每个单词首字母大
49 
50 
51 #特别重要的字符串方法:
52 
53 
54 st.count("l")#计算‘l‘个数
55 st.startswith("h")#判断以什么开头
56 st.find(l)#查找第一个元素在字符串的位置并且返回(空格也算位置)
57 
58 
59 st.format(name = alex,age = 37)#格式化输出的方式
60 st.format_map({name:alex,age:22})#意义相同,方式不同
61 
62 
63      asda\n.strip()#前后的空格,换行符全去掉
64          asda\n.lstrip()#只去除左边的
65          asda\n.rstrip()#只去除右边的
66 
67 My title title.split( )#以“ ”为分割对象对字符串进行分割(将字符串分割成列表)
68 
69 My title title.replace(itle,lesson,1)#替换,某些内容替换成另一个内容可以控制替换几次

 

三级菜单的实现:

本次实现重复代码较多:

  1 #_auther_="stuwu79"
  2 #date:2019/9/27
  3 #要求:可以进入所有层
  4 #可以退出或者返回上一层
  5 menu = {
  6     北京:{
  7         朝阳:{
  8             国贸:{
  9                 CICC:{},
 10                 HP:{},
 11                 CCTV:{},
 12                 },
 13             望京:{
 14                 陌陌:{},
 15                 奔驰:{},
 16                 360:{},
 17                 },
 18             三里屯:{
 19                 优衣库:{},
 20                 apple:{},
 21                 },
 22         },
 23         昌平:{
 24             沙河:{
 25                 老男孩:{},
 26                 阿泰包子:{},
 27                 },
 28             天通苑:{
 29                 链家:{},
 30                 我爱我家:{},
 31                 },
 32             回龙观:{},
 33         },
 34         海淀:{
 35             五道口:{
 36                 "谷歌":{},
 37                 "网易":{},
 38                 "Sohu":{},
 39                 "快手":{},
 40                 },
 41             中关村: {
 42                 "youku": {},
 43                 "iqiyi": {},
 44                 "汽车之家": {},
 45                 "新东方": {},
 46                 "QQ": {},
 47                 },
 48         },
 49     },
 50     上海:{
 51         浦东:{
 52             "陆家嘴":{
 53                 "CICC":{},
 54                 "高盛":{},
 55                 "摩根":{},
 56             },
 57             "外滩": {},
 58         },
 59         闵行:{},
 60         静安:{},
 61     },
 62     山东:{
 63         "济南":{},
 64         "德州":{
 65             "乐陵":{
 66                 "丁务镇":{},
 67                 "居然镇":{},
 68             },
 69             "平原":{},
 70         },
 71         "青岛":{},
 72     },
 73 }
 74 
 75 back_flag = False
 76 exit_flag = False
 77 
 78 while not back_flag and not exit_flag:
 79     for key in menu :
 80         print(key)
 81     choice = input("1>>:").strip()
 82     if choice == "q":
 83         exit_flag = True
 84     if choice in menu:
 85         while not back_flag and not exit_flag:#让程序停在第二层
 86             for key2 in menu[choice]:
 87                 print(key2)
 88             choice2 = input("2>>:").strip()
 89             if choice2 == "b":
 90                 back_flag = True
 91             if choice2 == "q":
 92                 exit_flag = True
 93             if choice2 in menu[choice]:
 94                 while not back_flag and not exit_flag:
 95                     for key3 in menu[choice][choice2]:
 96                         print(key3)
 97                     choice3 = input("3>>:").strip()
 98                     if choice3 == "b":
 99                         back_flag = True
100                     if choice3 == "q":
101                         exit_flag = True
102                     if choice3 in menu[choice][choice2]:
103                         while not back_flag and not exit_flag:
104                             for key4 in menu[choice][choice2][choice3]:
105                                 print(key4)
106                             choice4 = input("4>>:").strip()
107                             print("last level")
108                             if choice4 =="b":
109                                 back_flag = True
110                             if choice4 == "q":
111                                 exit_flag = True
112                         else:
113                             back_flag = False
114                 else:
115                     back_flag = False
116 
117         else:
118             back_flag = False

修改版本:

 

#_auther_="stuwu79"
#date:2019/9/27
#要求:可以进入所有层
#可以退出或者返回上一层
menu = {
北京:{
朝阳:{
国贸:{
‘CICC‘:{},
‘HP‘:{},
‘CCTV‘:{},
},
望京:{
陌陌:{},
奔驰:{},
‘360‘:{},
},
三里屯:{
优衣库:{},
‘apple‘:{},
},
},
昌平:{
沙河:{
老男孩:{},
阿泰包子:{},
},
天通苑:{
链家:{},
我爱我家:{},
},
回龙观:{},
},
海淀:{
五道口:{
"谷歌":{},
"网易":{},
"Sohu":{},
"快手":{},
},
中关村: {
"youku": {},
"iqiyi": {},
"汽车之家": {},
"新东方": {},
"QQ": {},
},
},
},
上海:{
浦东:{
"陆家嘴":{
"CICC":{},
"高盛":{},
"摩根":{},
},
"外滩": {},
},
闵行:{},
静安:{},
},
山东:{
"济南":{},
"德州":{
"乐陵":{
"丁务镇":{},
"居然镇":{},
},
"平原":{},
},
"青岛":{},
},
}

back_flag = False
exit_flag = False

while not back_flag and not exit_flag:
for key in menu :
print(key)
choice = input("1>>:").strip()
if choice == "q":
exit_flag = True
if choice in menu:
while not back_flag and not exit_flag:#让程序停在第二层
for key2 in menu[choice]:
print(key2)
choice2 = input("2>>:").strip()
if choice2 == "b":
back_flag = True
if choice2 == "q":
exit_flag = True
if choice2 in menu[choice]:
while not back_flag and not exit_flag:
for key3 in menu[choice][choice2]:
print(key3)
choice3 = input("3>>:").strip()
if choice3 == "b":
back_flag = True
if choice3 == "q":
exit_flag = True
if choice3 in menu[choice][choice2]:
while not back_flag and not exit_flag:
for key4 in menu[choice][choice2][choice3]:
print(key4)
choice4 = input("4>>:").strip()
print("last level")
if choice4 =="b":
back_flag = True
if choice4 == "q":
exit_flag = True
else:
back_flag = False
else:
back_flag = False

else:
back_flag = False

字符串操作

标签:int   supper   enc   根据   art   less   expand   北京   改版   

原文地址:https://www.cnblogs.com/stuwu79/p/11596966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!