基本資料結構-字母統計與縮寫
阿新 • • 發佈:2021-01-06
技術標籤:基本資料結構(字串、列表、陣列)
寫一段程式,能夠在給出一段全稱的情況下,輸出它的縮寫,同時計算其中使用到的字母種類的數量(不區分大小寫,也就是說A和a算作同一種字母)。 要求:全稱中的and、the、for、of計入用到的字母種類數量,但在縮寫時忽略它們(例如:Industrial and Commercial Bank of China縮寫為ICBC,而僅在of中出現的字母f仍需計入到該全稱所使用的字母種類數中而僅在of中出現的字母f仍需計入到該全稱所使用的字母種類數中。)進行縮寫時無論這4個虛詞為大寫或小寫都忽略。
此時要注意題目中主要由兩個部分,第一個部分是統計首字母,第二個部分是統計字母個數
統計首字母主要是應用遍歷的方法,在提取中每一個單詞之後用i[0:1]的方式提取首字母
注意本題中要忽略虛詞,題目中說明無論虛詞是大寫或者小寫都要忽略
最後用join函式將列表中的各個元素重新連線,主要用法就是<‘連線符’>.join(<字串列表>),如果連線符為空,就是把各個元素緊挨著寫在一起
2 統計字母個數
在這裡用了一個小技巧,就是統計的時候把字母先都放進一個列表中,通過遍歷的方式,如果下一個字母已經存在在之前的列表中,那麼就可以不需要將其加入到列表之中了
最後直接輸出此列表的長度,就是不重複的字母個數
a1 = input()
a = a1.split( )
b=['and','the','for','of','AND','THE','FOR','OF']
c = []
d1 = a1.lower()
d = d1.split()
f = []
#提取首字母
for i in a:
if i not in b:
c.append(i[0:1])
r = ''.join(c)
print(r)
#統計字母個數
for x in d:
for word in x:
if word not in f:
f.append(word)
print(len(f))