目录
6. 随意输入心中想到的一个书名,然后输出它的字符串长度(len属性)
7. 接收用户输入的字符串,将其中的字符进行排序,并以逆序输出。例如:acdefb -abcdef-fedcba
8. 用户输入一句英文,将其中的单词以反序输出 例如:hello c sharp --- sharp c hello
10. 有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于10,则截取长度为8的子串,将统一处理后的结果输出
13. 如何验证一个字符串中的每一个字符均在另一个字符串中出现
1. 去掉字符串中所有的空格
st = "accF-- ___ a77 7 dR AD aac 3km i hf ks"
st_1 = st.split(" ")
st_2 = "".join(st_1)
print(st_2)
2. 获取字符串中汉字的个数
# 方法一 "没有找到中文标点范围、统计的仅包括中文汉字数量"
num = 0
s = "w__sdcqutqer_哦IUY给你们erd。,-、、·zsv二手房egr地铁tewq氛围感染miss"
for i in s :
if '\u4e00' <= i <= '\u9fff':
num += 1
print(num)
# 方法二 "统计的包括中文字和中文标点数量"
s = "sdvfvw__sdcqutqer_哦IUY给你们erd。,-、、zsv二手房egr地铁tewq氛围感染miss"
total_len = len(s)
print("UTF-8 编码:") #UTF_8中 中文汉字的长度为3;但是中文的点·,长度为2
str_utf8 = s.encode("UTF-8") #将字符串编码成UTF_8编码
len_utf8 = len(str_utf8)
chin_len1 = (len_utf8 - total_len)//2
print("chinese_len: ",chin_len1)
print("GBK 编码:") #GBK中 中文汉字的长度为2
str_gbk = s.encode("GBK") #将字符串编码成GBK编码
len_gbk = len(str_gbk)
chin_len2 = len_gbk - total_len
print("chinese_len: ",chin_len2)
3. 将字母全部转换为大写和小写
s = "qwe.rt/ykj=casdf`kmn-CA=VAA=A-DSGSV"
print("A-->a",s.lower())
print("a-->A",s.upper())
4. 根据标点符号对字符串进行分行
s = "hello,world!mast,efe!asc.sd!fsw.wef!wef\efew\c"
s1 = "\n".join(s.split(","))
print(s1,"\n")
s2 = "\n".join(s.split("!"))
print(s2)
5. 去掉字符串数组中每个字符串的空格(循环)
s = " aw ··~~? dw ?? !wd qd !! fs erg e\s可 都是rg ee fef fewf der "
for i in s :
if i != " " :
print(i,end="")
6. 随意输入心中想到的一个书名,然后输出它的字符串长度(len属性)
book = "《月亮与六便士》"
print(len(book))
7. 接收用户输入的字符串,将其中的字符进行排序,并以逆序输出。例如:acdefb -abcdef-fedcba
st = str(input("请输入一串字符:"))
st =list(st)
st.sort()
st1 = "".join(st)
print ("降序:",st1)
st.reverse() # 等于 st.sort(reverse=True)
st2 = "".join(st)
print ("升序:",st2)
8. 用户输入一句英文,将其中的单词以反序输出 例如:hello c sharp --- sharp c hello
st = str(input("请输入一句英文:"))
st1 = st.split(" ")
st2 = [0] * len(st1)
j = 0
for i in range(len(st1)-1,-1,-1) :
st2[j] = st1[i]
j +=1
st3 = " ".join(st2)
print(st3)
9. 用户输入一句话,找出所有”呵“的位置
st = str(input("请输入一句话:"))
num = 0
while num <= st.rfind("呵") :
num = st.find("呵",num,len(st))
print(num,end=" ")
num += 1
10. 有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于10,则截取长度为8的子串,将统一处理后的结果输出
st = ["Ball of Fat","The Little Prince","呐喊","Norwegian Wood","我与地坛","吉力卜的风","狼王梦","The Adventures of Tom Sawyer","三国演义","The Twilight Saga"]
n = 0
st1 = [0]*10
for i in range(0,len(st)) :
if len(st[i]) > 10 :
#包含空格
st1[n] = st[i][0:8]
n += 1
for i in range(0,n):
st1.remove(0)
print(st1)
# st2 = " ".join(st1)
# print(st2)
11. 用户输入一句话,找出所有”呵呵“的位置
st = str(input("请输入一句话:"))
# st = "呵sc呵尔法呵呵wac呵呵sscwd呵`.呵呵呵 .,"
num = 0
while num <= st.rfind("呵") :
num = st.find("呵",num,len(st))
if st.find("呵",num+1,len(st)) == num+1 :
print("(%s,%s)"%(num,num+1,),end=" ")
num += 1
12. 如何判断一个字符串是否是另一个字符串的子串
st1 = "srtj sertyu werty 5rert"
st2 = "4yfser werty sa345 "
st3 = "5rert"
ans1 = st3 in st1
ans2 = st2 in st1
print("st3是st1的子集吗:",ans1)
print("st2是st1的子集吗:",ans2)
13. 如何验证一个字符串中的每一个字符均在另一个字符串中出现
st1 = "srtfj ser4tyu wertya 5rert"
st2 = "4yfser werty sajj45 "
n = 0
for i in st2 :
if i in st1 :
n += 1
if n == len(st2) :
print("st2的所有字符均在st1中!!!")
else :
print("st2的所有字符不完全在st1中!!!")
14. 如何生成无数字的全字母的字符串
st = "werhjk123mn345m234n5nm003n2m2n4n5m89n4"
for i in range(0,10) :
st = st.replace("%s"%i,"")
print(st)
15. 如何随机生成带数字和字母的字符串
def create_string_number(n):
m = random.randint(1, n)
a = "".join([str(random.randint(0, 9)) for _ in range(m)])
b = "".join([random.choice(string.ascii_letters) for _ in range(n - m)])
return ''.join(random.sample(list(a + b), n))
import random
import string
print(create_string_number(17))
16. 如何判定一个字符串中既有数字又有字母
st = "erhtrew234512ertrwwert32w很过分比较好de56trewq23dsw3rfdw4tfe3467ut567u"
print("",st.isalnum()) #包涵汉字
# st = "erhtrew234512ertrwwert32wde56trewq23dsw3rfdw4tfe3467ut567u"
for i in st :
if '\u4e00' <= i <= '\u9fff' :
break
else :
print("",st.isalnum())