1.去掉字符串中的所有空格
s = " 12 3 1 32 31 21wajaj wad 1 "
##分割再组合
s = " 12 3 1 32 31 21wajaj wad 1 "
##分割再组合
s = s.strip()
ls = s.split(" ")
s1 = ""
for i in range(0,len(ls)):
s1 +=ls[i]
print(s1)
###替换
s = " 12 3 1 32 31 21wajaj wad 1 "
res = s.replace(" ","")
print(res)
2.根据完整的路径从路径中分离文件路径、文件名及扩展名
s = "J:\Anaconda3\openlab\第三周\day5-2.py"
##根据特性切割再组合
ls = s.split("\\")
ls1 = s.split(".")
s1 = ""
s2 = ls[len(ls)-1]
s3 = ls1[len(ls1)-1]
for i in range(0,len(ls)-1):
s1 += ls[i]+"\\"
print("文件的路径是:{},文件名字是:{},扩展名是:{}".format(s1,s2,s3))
##使用切片方式
s = "J:\Anaconda3\openlab\第三周\day5-2.py"
s2 = s[0:s.rfind("\\")+1]
s3 = s[s.rfind("\\")+1:]
s4 = s[s.rfind(".")+1:]
print("文件的路径是:{},文件名字是:{},扩展名是:{}".format(s2,s3,s4))
s = input("请输入判断的字符串:")
##利用编码范围判断!
count = 0
for i in s:
if 0x4E00 <= ord(i) <= 0x9FA5:
count += 1
print(count)
s = input("请输入加密的字符串:")##将旧元素替换为新的元素,通过加密的表,
new = "123456789"
old = "abcdefghi"
table = str.maketrans(old,new)
s1 = s.translate(table) ##输入的字符串再通过加密表进行转换。
print(s1)
s = input("请输入字符串:")
print("该字符串字母全部转为大写是:",s.upper())
print("该字符串字母全部转为小写是:",s.lower())
s = input("输入")
for i in range(0 ,len(s)):
if s[i] == "."or s[i] =="," or s[i]=="!" or s[i]==";":
print("")
else:
print(s[i],end = "")
ls = ["adak dkad ","alkdwak adla ","adak adlaw "]
ls1 = []
for i in range(0,len(ls)):
ls1.append(ls[i].replace(" ",""))
print(ls1)
8.随意输入你心中想到的一个书名,然后输出它的字符串
长度。 (len()属性:可以得字符串的长度)
s = input("你喜欢的书名:")
print("{}的书名长度是{}".format(s,len(s)))
9.两个学员输入各自最喜欢的游戏名称,判断是否一致,如
果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输
出你们俩喜欢不相同的游戏。
s1 = input("你喜欢的游戏名字:")
s2 = input("他最喜欢的游戏名字:")
if s1 == s2:
print("你们最喜欢的游戏是:{}".format(s1))
else:
print("你最喜欢的游戏是:{}".format(s1))
print("他最喜欢的游戏是:{}".format(s2))
10.上题中两位同学输入 lol和 LOL代表同一游戏,怎么办?
s1 = input("你喜欢的游戏名字:")
s2 = input("他最喜欢的游戏名字:")
s1 = s1.upper()
s2 = s2.upper()
if s1 == s2:
print("你们最喜欢的游戏是:{}".format(s1))
else:
print("你最喜欢的游戏是:{}".format(s1))
print("他最喜欢的游戏是:{}".format(s2))
11.让用户输入一个日期格式如“2008/08/08”,将 输入的日
期格式转换为“2008年-8月-8日”。
s = input("请输入日期,格式如2008/02/02:")
ls = s.split("/")
print("转换后的日期格式:{}年{}月{}日".format(ls[0],ls[1],ls[2]))
12.接收用户输入的字符串,将其中的字符进行排序(升
序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。
s = input("请输入字符串")
ls = list(s)
ls.sort()
ls.reverse()
s = ""
for i in range(0,len(ls)):
s += ls[i]
print(s)
13.接收用户输入的一句英文,将其中的单词以反序输
出,“hello c sharp”→“sharp c hello”。
s = input("请输入字符串:")
ls = s.split(" ")
ls.reverse()
s = ""
for i in range(0,len(ls)) :
s +=ls[i] + " "
print(s)
14.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
s = "http://www.163.com?userName=admin&pwd=123456"
ls = s.split("/")
s1 = ls[2]
ls2 = s1.split("?")
print("域名是:{}".format(ls2[0]))
s1 = ls2[1]
ls3 = s1.split("&")
s1 = ls3[0]
ls4 = s1.split("=")
print("用户名是:{}".format(ls4[1]))
##用分割方法。
print("域名是:{},用户名是:{}".format(s[s.rfind("/")+1:s.find("?")],s[s.find("=")+1:s.find("&")]))
15.有个字符串数组,存储了10个书名,书名有长有短,现
在将他们统一处理,若书名长度大于10,则截取长度8的
子串并且最后添加“…”,加一个竖线后输出作者的名字。
ls = ["我的世界冲冲冲啊冲啊啊","遥远的老天爷","红尘往市不在回首嘿嘿黑","活着","白鹿原之青青草原112"] ##10个书名太多了,我只存了几个
dir = {"我的世界冲冲冲啊冲啊啊":"xuhaoo","遥远的老天爷":"haoboxu","红尘往市不在回首嘿嘿黑":"xuahobo","活着":"haobo","白鹿原之青青草原112":"hahah"}
for i in range(0,len(ls)):
s = ls[i]
if len(s) > 10:
s = s[0:9]+"..._"+str(dir[ls[i]])
ls[i] = s
print(ls)
16.让用户输入一句话,找出所有"呵"的位置。
s = input("请输入一段话!")
ls = []
for i in range(0,len(s)):
if s[i] == "呵":
ls.append(i)
print("呵的位置是:{}".format(ls))
s = input("请输入一段话!")
ls = []
for i in range(0,len(s)-1):
if s[i] == "呵" and s[i+1] =="呵":
ls.append(i)
print("呵呵的位置是:{}".format(ls))
##也可以直接index(“呵呵”)
18.让用户输入一句话,判断这句话中有没有邪恶,如果有邪
恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变
成”老牛很**”;
s = input("请输入字符串:")
print("邪恶消失后:{}".format(s.replace("邪恶","**")))
s = input("请输入字符串A:")
s1 = input("请输入需要判断的字符串B:")
flag = True
if s.find(s1) != -1:
flag = False
if flag:
print("字符串B{}不在A{}内".format(s1,s))
else:
print("字符串B{}在A{}内".format(s1,s))
20.如何验证一个字符串中的每一个字符均在另一个字符串中出现过
s = input("请输入字符串A:")
s1 = input("请输入需要判断的字符串B:")
flag = True
for i in range(0,len(s1)):
if s.find(s1[i]) == -1:
flag = False
if flag:
print("字符串B{}的所有元素在A{}内".format(s1,s))
else:
print("字符串B{}不是所有元素都在A{}内".format(s1,s))
import string
import random
s = string.ascii_letters
s1 = ""
for i in range(1,20):
s1 += random.choice(s)
print(s1)
import string
import random
s = string.ascii_letters + string.digits ##前为生成字母,后为生成数字
s1 = ""
for i in range(1,20):
s1 += random.choice(s)
print(s1)
import string
s = input("输入需要判断的字符串:")
if (s.isalnum()and not s.isalpha()) and not s.isdigit():
print("字符串{}里包含数字和字母".format(s))
else:
print("字符串{}里并不是既包含字母又包含数字".format(s))
s = input("请输入字符串")
s1 = s.upper()
ls = list(s1)
ls.sort()
s2 = ""
for i in range(0,len(ls)):
s2 += ls[i]
print(s2)