1. 程式人生 > 其它 >基本資料結構-字母統計與縮寫

基本資料結構-字母統計與縮寫

技術標籤:基本資料結構(字串、列表、陣列)

寫一段程式,能夠在給出一段全稱的情況下,輸出它的縮寫,同時計算其中使用到的字母種類的數量(不區分大小寫,也就是說A和a算作同一種字母)。 要求:全稱中的and、the、for、of計入用到的字母種類數量,但在縮寫時忽略它們(例如:Industrial and Commercial Bank of China縮寫為ICBC,而僅在of中出現的字母f仍需計入到該全稱所使用的字母種類數中而僅在of中出現的字母f仍需計入到該全稱所使用的字母種類數中。)進行縮寫時無論這4個虛詞為大寫或小寫都忽略。

此時要注意題目中主要由兩個部分,第一個部分是統計首字母,第二個部分是統計字母個數

1 統計首字母
統計首字母主要是應用遍歷的方法,在提取中每一個單詞之後用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))