字符串操作方法習題答案--python

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))

在這裏插入圖片描述
3.獲取字符串中漢字的個數

s = input("請輸入判斷的字符串:")
##利用編碼範圍判斷!
count = 0
for i in s:
    if 0x4E00 <= ord(i) <= 0x9FA5:
        count += 1
print(count)

在這裏插入圖片描述
4.對字符串進行加密與解密

s = input("請輸入加密的字符串:")##將舊元素替換爲新的元素,通過加密的表,
new = "123456789"
old = "abcdefghi"
table = str.maketrans(old,new)
s1 = s.translate(table)  ##輸入的字符串再通過加密表進行轉換。
print(s1)

在這裏插入圖片描述
5.將字母全部轉換爲大寫或小寫

s = input("請輸入字符串:")
print("該字符串字母全部轉爲大寫是:",s.upper())
print("該字符串字母全部轉爲小寫是:",s.lower())

在這裏插入圖片描述
6.根據標點符號對字符串進行分行

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 = "")

在這裏插入圖片描述
7.去掉字符串數組中每個字符串的空格

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))  

在這裏插入圖片描述
17.讓用戶輸入一句話,找出所有"呵呵"的位置。

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("邪惡","**")))

在這裏插入圖片描述
19.如何判斷一個字符串是否爲另一個字符串的子串

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))

在這裏插入圖片描述
21.如何隨機生成無數字的全字母的字符串

import string
import random
s = string.ascii_letters
s1 = ""
for i in range(1,20):
    s1 += random.choice(s)
print(s1)

在這裏插入圖片描述
22.如何隨機生成帶數字和字母的字符串

import string
import random
s = string.ascii_letters + string.digits  ##前爲生成字母,後爲生成數字
s1 = ""
for i in range(1,20):
    s1 += random.choice(s)
print(s1)

在這裏插入圖片描述
23.如何判定一個字符串中既有數字又有字母

import string
s = input("輸入需要判斷的字符串:")
if (s.isalnum()and not s.isalpha()) and not s.isdigit():
    print("字符串{}裏包含數字和字母".format(s))
else:
    print("字符串{}裏並不是既包含字母又包含數字".format(s))

在這裏插入圖片描述
24.字符串內的字符排序(只按字母序不論大小寫)

s  = input("請輸入字符串")
s1 = s.upper()
ls = list(s1)
ls.sort()
s2  = ""
for i in range(0,len(ls)):
    s2 += ls[i]
print(s2)

在這裏插入圖片描述
以上代碼僅供參考,也提供了執行示例。謝謝觀看!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章