1. 程式人生 > >字串作業及默寫

字串作業及默寫

1.有變數量name = "aleX leNb" 完成如下操作:

1)移除 name 變數量對應的值兩邊的空格,並輸出處理理結果

2)移除name變數量左邊的"al"並輸出處理理結果

3)移除name變數量右⾯面的"Nb",並輸出處理理結果

4)移除name變數量開頭的a"與最後的"b",並輸出處理理結果

5)判斷 name 變數量是否以 "al" 開頭,並輸出結果

6)判斷name變數量是否以"Nb"結尾,並輸出結果

7)將 name 變數量對應的值中的 所有的"l" 替換為 "p",並輸出結果

8)將name變數量對應的值中的第⼀一個"l"替換成"p",並輸出結果

9)將 name 變數量對應的值根據 所有的"l" 分割,並輸出結果。

10)將name變數量對應的值根據第⼀一個"l"分割,並輸出結果。

11)將 name 變數量對應的值變⼤大寫,並輸出結果

12)將 name 變數量對應的值變⼩小寫,並輸出結果

13)將name變數量對應的值⾸首字⺟母"a"⼤大寫,並輸出結果

14)判斷name變數量對應的值字⺟母"l"出現⼏幾次,並輸出結果

15)如果判斷name變數量對應的值前四位"l"出現⼏幾次,並輸出結果

16)從name變數量對應的值中找到"N"對應的索引(如果找不不到則報錯),並輸出結果

17)從name變數量對應的值中找到"N"對應的索引(如果找不不到則返回-1)輸出結果

18)從name變數量對應的值中找到"X le"對應的索引,並輸出結果

19)請輸出 name 變數量對應的值的第 2 個字元?

20)請輸出 name 變數量對應的值的前 3 個字元?

21)請輸出 name 變數量對應的值的後 2 個字元?

22)請輸出 name 變數量對應的值中 "e" 所在索引位置?

 

2.有字串串s = "123a4b5c"

1)通過對s切⽚片形成新的字串串s1,s1 = "123"

2)通過對s切⽚片形成新的字串串s2,s2 = "a4b"

3)通過對s切⽚片形成新的字串串s3,s3 = "1345"

4)通過對s切⽚片形成字串串s4,s4 = "2ab"

5)通過對s切⽚片形成字串串s5,s5 = "c"

6)通過對s切⽚片形成字串串s6,s6 = "ba2"

 

3.使⽤用while和for迴圈分別列印字串串s="asdfer"中每個元素。

4.使⽤用for迴圈對s="asdfer"進⾏行行迴圈,但是每次列印的內容都是"asdfer"。

5.使⽤用for迴圈對s="abcdefg"進⾏行行迴圈,每次列印的內容是每個字元加上sb,例例如:asb, bsb,csb,...gsb。

6.使⽤用for迴圈對s="321"進⾏行行迴圈,列印的內容依次是:"倒計時3秒","倒計時2秒","倒計時1秒","出發!"。   7,實現⼀一個整數加法計算器器(兩個數相加):如:content = input("請輸⼊入內容:") ⽤使用者輸⼊入:5+9或5+ 9或5 + 9,然後進⾏行行分割再進⾏行行計算。   8,升級題:實現⼀一個整數加法計算器器(多個數相加):如:content = input("請輸⼊入內容:") ⽤使用者輸⼊入:5+9+6 +12+ 13,然後進⾏行行分割再進⾏行行計算。     9,計算⽤使用者輸⼊入的內容中有⼏幾個整數(以個位數為單位)。如:content = input("請輸⼊入內容:") # 如fhdal234slfh98769fjdla

10、寫程式碼,完成下列列需求:

⽤使用者可持續輸⼊入(⽤用while迴圈),⽤使用者使⽤用的情況:

輸⼊入A,則顯示⾛走⼤大路路回家,然後在讓⽤使用者進⼀一步選擇:

  是選擇公交⻋車,還是步⾏行行?

  選擇公交⻋車,顯示10分鐘到家,並退出整個程式。

  選擇步⾏行行,顯示20分鐘到家,並退出整個程式。

輸⼊入B,則顯示⾛走⼩小路路回家,並退出整個程式。

輸⼊入C,則顯示繞道回家,然後在讓⽤使用者進⼀一步選擇:

  是選擇遊戲廳玩會,還是⽹網咖?

  選擇遊戲廳,則顯示 ‘⼀一個半⼩小時到家,爸爸在家,拿棍等你。’並讓其 重新輸⼊入A,B,C選項。

  選擇⽹網咖,則顯示‘兩個⼩小時到家,媽媽已做好了了戰⽃鬥準備。’並讓其重 新輸⼊入A,B,C選項。

 

11、寫程式碼:計算 1 - 2 + 3 ... + 99 中除了了88以外所有數的總和?
12. (升級題)判斷⼀一句句話是否是回⽂文. 回⽂文: 正著念和反著念是⼀一樣的. 例例如, 上海自來⽔來⾃海上(升級題)

13. 輸⼊入⼀一個字串串,要求判斷在這個字串串中⼤大寫字⺟母,⼩小寫字⺟母,數字,其它字元共出現了了多少次,並輸出出來

14、製作趣味模板程式需求:等待⽤使用者輸⼊入名字、地點、愛好,根據⽤使用者的名 字和愛好進⾏行行任意現實 如:敬愛可親的xxx,最喜歡在xxx地⽅方⼲幹xxx

15. (升級題) 給出百家姓. 然後⽤使用者輸⼊入⼀一個⼈人的名字. 判斷這個⼈人是否是百家 姓中的姓⽒氏(升級題)

 

百家姓:
first_names = """ 趙錢孫李李,周吳鄭王。 馮陳褚衛,蔣沈沈韓楊。 朱秦尤許,何呂施張。 孔曹嚴華,⾦金金魏陶姜。 戚謝鄒喻,柏⽔水竇章。 雲蘇潘葛,奚範彭郎。 魯⻙韋昌⻢馬,苗鳳花⽅方。 俞任袁柳柳,酆鮑史唐。 費廉岑薛,雷雷賀倪湯。 滕殷羅畢,郝鄔安常。 樂於時傅,⽪皮卞⻬齊康。 伍餘元⼘卜,顧孟平⻩黃。 和穆蕭尹,姚邵湛汪。 祁⽑毛禹狄,⽶米⻉貝明臧。 計伏成戴,談宋茅龐。 熊紀舒屈,項祝董樑梁。 杜阮阮藍閔,席季麻強。 賈路路婁危,江童顏郭。 梅梅盛林林刁,鍾徐邱駱。 ⾼高夏蔡⽥田,樊胡凌霍。 虞萬⽀支柯,昝管盧莫。 經房裘繆,⼲幹解應宗。 丁宣賁鄧,鬱單杭洪。 包諸左⽯石,崔吉鈕龔。 程嵇邢滑,裴陸榮翁。 荀⽺羊於惠,甄曲家封。 芮羿儲靳,汲邴糜鬆。 井段富巫,烏焦巴⼸弓。 牧隗⼭山⾕谷,⻋車侯宓蓬。 全郗班仰,秋仲伊宮。 寧仇欒暴暴,⽢甘鈄厲戎。 祖武符劉,景詹束⻰龍。 葉幸司韶,郜黎薊薄。 印宿⽩白懷,蒲邰從鄂。 索鹹籍賴,卓藺屠蒙。

池喬陰鬱,胥能蒼雙。 聞莘黨翟,譚貢勞逄。 姬申扶堵,冉宰酈雍。 卻璩桑桂,濮⽜牛壽通。 邊扈燕冀,郟浦尚農。 溫別莊晏,柴瞿閻充。 慕連茹習,宦艾⻥魚容。 向古易易慎,⼽戈廖庾終。 暨居衡步,都耿滿弘。 匡國⽂文寇,⼴廣祿闕東。 歐⽎殳沃利利,蔚越夔隆隆。 師鞏厙聶,晁勾敖融。 冷訾⾟辛闞,那簡饒空。 曾毋沙乜,養鞠須豐。 巢關蒯相,查後荊紅。 遊竺權逯,蓋益桓公。 万俟司⻢馬,上官歐陽。 夏侯諸葛,聞⼈人東⽅方。 赫連皇甫,尉遲公⽺羊。 澹臺公冶,宗政濮陽。 淳于單于,太叔申屠。 公孫仲孫,軒轅令狐。 鍾離宇⽂文,⻓長孫慕容。 鮮于閭丘,司徒司空。 丌官司寇,仉督⼦子⻋車。 顓孫端⽊木,巫⻢馬公⻄西。 漆雕樂正,壤駟公良。 拓拓跋夾⾕谷,宰⽗父⾕穀梁梁。 晉楚閆法,汝鄢塗欽。 段⼲幹百⾥裡里,東郭南⻔門。 呼延歸海海,⽺羊⾆舌微⽣生。 嶽帥緱亢,況郈有琴。 樑梁丘左丘,東⻔門⻄西⻔門。 商牟佘佴,伯賞南宮。 墨墨哈譙笪,年年愛陽佟。 第五⾔言福,百家姓終。

"""

明⽇日默寫內容:  

分別⽤用while,for迴圈輸出字串串s = input("你想輸⼊入的內容")的每⼀一個 字元。

 

 

  1 # 1.有變數量name = "aleX leNb" 完成如下操作:
  2 name = "aleX leNb"
  3 # 1)移除 name 變數量對應的值兩邊的空格,並輸出處理理結果
  4 print(name.strip())
  5 # 2)移除name變數量左邊的"al"並輸出處理理結果
  6 print(name.replace('al', ''))
  7 # 3)移除name變數量右⾯面的"Nb",並輸出處理理結果
  8 print(name.replace('Nb', ''))
  9 # 4)移除name變數量開頭的a"與最後的"b",並輸出處理理結果
 10 # print(name.lstrip('a').rstrip('b'))
 11 print(name.strip('ab'))##這樣竟然可以!下面的也可以  s = 'abkkkba' print(s.strip('ab'))
 12 # 5)判斷 name 變數量是否以 "al" 開頭,並輸出結果
 13 print(name.startswith('al'))
 14 # 6)判斷name變數量是否以"Nb"結尾,並輸出結果
 15 print(name.endswith('Nb'))
 16 # 7)將 name 變數量對應的值中的 所有的"l" 替換為 "p",並輸出結果
 17 print(name.replace('l', 'p'))
 18 # 8)將name變數量對應的值中的第⼀一個"l"替換成"p",並輸出結果
 19 print(name.replace('l', 'p', 1))
 20 # 9)將 name 變數量對應的值根據 所有的"l" 分割,並輸出結果。
 21 print(name.split('l'))
 22 # 10)將name變數量對應的值根據第⼀一個"l"分割,並輸出結果。
 23 print(name.split('l', 1))
 24 # 11)將 name 變數量對應的值變⼤大寫,並輸出結果
 25 print(name.upper())
 26 # 12)將 name 變數量對應的值變⼩小寫,並輸出結果
 27 print(name.lower())
 28 # 13)將name變數量對應的值⾸首字⺟母"a"⼤大寫,並輸出結果
 29 print(name.capitalize())
 30 # 14)判斷name變數量對應的值字⺟母"l"出現⼏幾次,並輸出結果
 31 print(name.count('l'))
 32 # 15)如果判斷name變數量對應的值前四位"l"出現⼏幾次,並輸出結果
 33 print(name[:4].count('l'))
 34 print(name.count('l',0,4))##
 35 # 16)從name變數量對應的值中找到"N"對應的索引(如果找不不到則報錯),並輸出結果
 36 print(name.index('N'))
 37 # 17)從name變數量對應的值中找到"N"對應的索引(如果找不不到則返回-1)輸出結果
 38 print(name.find('N'))
 39 # 18)從name變數量對應的值中找到"X le"對應的索引,並輸出結果
 40 print(name.find('X le'))
 41 print(name.index('X le'))
 42 # 19)請輸出 name 變數量對應的值的第 2 個字元?
 43 print(name[1])
 44 # 20)請輸出 name 變數量對應的值的前 3 個字元?
 45 print(name[:3])
 46 # 21)請輸出 name 變數量對應的值的後 2 個字元?
 47 print(name[-2:])
 48 # 22)請輸出 name 變數量對應的值中 "e" 所在索引位置?
 49 # s0 = name[name.index('e')+1:]
 50 # print(name.index('e'), name.index('e')+s0.index('e')+1)
 51 
 52 ##老師的,直接遍歷字串,打印出 e 的索引.  上面的我的做法如果很多'e'就很尷尬了
 53 i = 0
 54 while i < len(name):
 55     if name[i] == 'e':
 56         print(i)
 57     i += 1
 58 
 59 
 60 
 61 # 2.有字串串s = "123a4b5c"
 62 s = "123a4b5c"
 63 # 1)通過對s切⽚片形成新的字串串s1,s1 = "123"
 64 s1 = s[:3]
 65 print(s1)
 66 # 2)通過對s切⽚片形成新的字串串s2,s2 = "a4b"
 67 s2 = s[3:6]
 68 print(s2)
 69 # 3)通過對s切⽚片形成新的字串串s3,s3 = "1345"
 70 s3 = s[::2]
 71 print(s3)
 72 # 4)通過對s切⽚片形成字串串s4,s4 = "2ab"
 73 s4 = s[1:6:2]
 74 print(s4)
 75 # 5)通過對s切⽚片形成字串串s5,s5 = "c"
 76 s5 = s[-1]
 77 print(s5)
 78 # 6)通過對s切⽚片形成字串串s6,s6 = "ba2"
 79 s6 = s[-3::-2]
 80 print(s6)
 81 
 82 
 83 # 3.使⽤用while和for迴圈分別列印字串串s="asdfer"中每個元素。
 84 
 85 s = "asdfer"
 86 #使用 while 迴圈實現
 87 i = 0
 88 while i < len(s):
 89     print(s[i])
 90     i += 1
 91 #使用 for 迴圈實現
 92 for c in s:
 93     print(c)
 94 
 95 
 96 # 4.使⽤用for迴圈對s="asdfer"進⾏行行迴圈,但是每次列印的內容都是"asdfer"。
 97 s = "asdfer"
 98 for c in s:
 99     print(s)
100 
101 # 5.使⽤用for迴圈對s="abcdefg"進⾏行行迴圈,每次列印的內容是每個字元加上sb,
102 #  例例如:asb, bsb,csb,...gsb。
103 s = "abcdefg"
104 for c in s:
105     print(c+'sb')
106 
107 # 6.使⽤用for迴圈對s="321"進⾏行行迴圈,列印的內容依次是:"倒計時3秒","倒計時
108 # 2秒","倒計時1秒","出發!"。
109 s = "321"
110 for c in s:
111     print('倒計時%s秒' % c)
112 else:#當 for 中的迴圈正常結束之後自動執行 else.break 不會觸發 else的執行   都類似於 if...else
113     print("出發!")
114 
115 # 7,實現⼀一個整數加法計算器器(兩個數相加):
116 # 如:content = input("請輸⼊入內容:") ⽤使用者輸⼊入:5+9或5+ 9或5 + 9,然後進
117 # ⾏行行分割再進⾏行行計算。
118 
119 # content = input("請輸⼊入內容:").replace(' ', '').split('+')  # 先去空,再分割
120 # sum = 0
121 # for c in content:
122 #     if c.isdigit():
123 #         c = int(c)
124 #         sum += c
125 # print(sum)
126 #方法2:老師講解的
127 content = input("請輸⼊入內容:")
128 lst = content.split("+")
129 #只有2個數的
130 a = lst[0]
131 b = lst[1]
132 print(int(a) + int(b))#上面是直接切割沒有先去空,也不會報錯,原因是 int(str)相當於 strip()的功能,可以去除每個元素兩端的空白
133 
134 
135 
136 
137 # 8,升級題:實現⼀一個整數加法計算器器(多個數相加):
138 # 如:content = input("請輸⼊入內容:") ⽤使用者輸⼊入:5+9+6 +12+ 13,然後進⾏行行
139 # 分割再進⾏行行計算。
140 #方法1:自己寫的
141 # content = input("請輸⼊入內容:").replace(' ', '').split('+')  # 先去空,再分割
142 # sum = 0
143 # for c in content:
144 #     if c.isdigit():#按照題目要求已知輸入的是數字的情況下就不用再判斷了
145 #         c = int(c)#int(str)相當於 strip()的功能,可以去除每個元素兩端的空白
146 #         sum += c
147 # print(sum)
148 
149 #方法2:老師講的,多個數相加
150 content = input("請輸⼊入內容:")
151 lst = content.split("+")
152 sum = 0
153 for el in lst:#使用 for 迴圈遍歷列表
154     sum += int(el) #累加  int(str)相當於 strip()的功能,可以去除每個元素兩端的空白
155 print(sum)
156 
157 
158 # 9,計算⽤使用者輸⼊入的內容中有⼏幾個整數(以個位數為單位)。
159 # 如:content = input("請輸⼊入內容:") # 如fhdal234slfh98769fjdla
160 
161 # content = input("請輸⼊入內容:")
162 # i = 0
163 # for c in content:
164 #     if c.isdigit():
165 #         i += 1
166 # print(i)
167 
168 
169 # 10、寫程式碼,完成下列列需求:
170 # ⽤使用者可持續輸⼊入(⽤用while迴圈),⽤使用者使⽤用的情況:
171 # 輸⼊入A,則顯示⾛走⼤大路路回家,然後在讓⽤使用者進⼀一步選擇:
172 #   是選擇公交⻋車,還是步⾏行行?
173 #       選擇公交⻋車,顯示10分鐘到家,並退出整個程式。
174 #       選擇步⾏行行,顯示20分鐘到家,並退出整個程式。
175 # 輸⼊入B,則顯示⾛走⼩小路路回家,並退出整個程式。
176 # 輸⼊入C,則顯示繞道回家,然後在讓⽤使用者進⼀一步選擇:
177 #      是選擇遊戲廳玩會,還是⽹網咖?
178 #          選擇遊戲廳,則顯示 ‘⼀一個半⼩小時到家,爸爸在家,拿棍等你。’並讓其 重新輸⼊入A,B,C選項。
179 #          選擇⽹網咖,則顯示‘兩個⼩小時到家,媽媽已做好了了戰⽃鬥準備。’並讓其重 新輸⼊入A,B,C選項。
180 # while True:#寫成 while 1: 比較好
181 #     choice = input('請選擇回家的路(A-走大路|B-走小路|C-繞道):').strip().upper()#這裡變大寫,只需要使用一次
182 #     if choice == 'A':
183 #         print('走大路回家')
184 #         choice_A = input('請選擇(公交車|步⾏):').strip()
185 #         if choice_A == '公交車':
186 #             print('10分鐘到家')
187 #         elif choice_A == '步⾏':
188 #             print('20分鐘到家')
189 #         break ##兩種情況相同提取出來
190 #     elif choice == 'B':
191 #         print('走小路回家')
192 #         break
193 #     elif choice == 'C':
194 #         print('繞道回家')
195 #         choice_C = input('請選擇(遊戲廳|網咖)玩會:').strip()
196 #         if choice_C == '遊戲廳':
197 #             print('一個半⼩小時到家,爸爸在家,拿棍等你')
198 #
199 #         elif choice_C == '網咖':
200 #             print('兩個⼩小時到家,媽媽已做好了了戰⽃鬥準備')
201 #         #continue  #這個不用寫就會回到開始進行迴圈
202 #     else:
203 #         print('沒有這條回家的路,請重新選擇')
204 #         #continue  #這個不用寫就會回到開始進行迴圈
205 
206 
207 # 11、寫程式碼:計算 1 - 2 + 3 ... + 99 中除了了88以外所有數的總和?
208 # 方法1:我寫的
209 # count = 1
210 # sum = 0
211 # while count < 100:
212 #     if count % 2 == 1:  # 奇數加上
213 #         sum += count
214 #     elif count != 88:
215 #         sum -= count  # 偶數減去
216 #     count += 1
217 # print(sum)
218 #方法2:老師講的
219 # count = 1
220 # sum = 0
221 # while count < 100:
222 #     if count == 88:#當時88的時候,變數增加但是不求和
223 #         i += 1
224 #         continue
225 #     if count % 2 == 1:  # 奇數加上
226 #         sum += count
227 #     elif count != 88:
228 #         sum -= count  # 偶數減去
229 #     count += 1
230 # print(sum)
231 
232 
233 
234 # 12. (升級題)判斷⼀一句句話是否是回⽂文. 回⽂文: 正著念和反著念是⼀一樣的. 例例如, 上海海
235 # ⾃自來⽔水來⾃自海海上(升級題)上海自來水來自海上
236 # s = input('請輸入一句話:').strip()
237 # s1 = s[::-1]
238 # if s == s1:
239 #     print('是回⽂')
240 # else:
241 #     print('不是回⽂')
242 
243 
244 # 13. 輸⼊入⼀一個字串串,要求判斷在這個字串串中⼤大寫字⺟母,⼩小寫字⺟母,數字,
245 # 其它字元共出現了了多少次,並輸出出來
246 # s = input('請輸入一個字串:')
247 # ## s = 'aKKKbkkkba123//[email protected] '
248 # count_upper = 0
249 # count_lower = 0
250 # count_digit = 0
251 # count_other = 0
252 # list_upper = []
253 # list_lower = []
254 # list_digit = []
255 # list_other = []
256 #
257 # for c in s:
258 #     if c.isupper():
259 #         list_upper.append(c)
260 #         count_upper += 1
261 #     elif c.islower():
262 #         count_lower += 1
263 #         list_lower.append(c)
264 #     elif c.isdigit():
265 #         count_digit += 1
266 #         list_digit.append(c)
267 #     else:
268 #         count_other += 1
269 #         list_other.append(c)
270 #
271 # print('count_upper = '+str(count_upper),list_upper)
272 # print('count_lower = '+str(count_lower),list_lower)
273 # print('count_digit = '+str(count_digit),list_digit)
274 # print('count_other = '+str(count_other),list_other)
275 
276 
277 
278 # 14、製作趣味模板程式需求:等待⽤使用者輸⼊入名字、地點、愛好,根據⽤使用者的名 字和愛好進⾏行行任意現實 如:敬愛可親的xxx,最喜歡在xxx地⽅方⼲幹xxx
279 # name = input('Name:')
280 # address = input('Address:')
281 # hobby = input('Hobby:')
282 # print(f'敬愛可親的{name},最喜歡在{address}地⽅方⼲幹{hobby}')
283 
284 #  15. (升級題) 給出百家姓. 然後⽤使用者輸⼊入⼀一個⼈人的名字. 判斷這個⼈人是否是百家 姓中的姓⽒氏(升級題)
285 # 百家姓:
286 # first_names = """ 趙錢孫李李,周吳鄭王。 馮陳褚衛,蔣沈沈韓楊。 朱秦尤許,何呂施張。 孔曹嚴華,⾦金金魏陶姜。 戚謝鄒喻,柏⽔水竇章。 雲蘇潘葛,奚範彭郎。 魯⻙韋昌⻢馬,苗鳳花⽅方。 俞任袁柳柳,酆鮑史唐。 費廉岑薛,雷雷賀倪湯。 滕殷羅畢,郝鄔安常。 樂於時傅,⽪皮卞⻬齊康。 伍餘元⼘卜,顧孟平⻩黃。 和穆蕭尹,姚邵湛汪。 祁⽑毛禹狄,⽶米⻉貝明臧。 計伏成戴,談宋茅龐。 熊紀舒屈,項祝董樑梁。 杜阮阮藍閔,席季麻強。 賈路路婁危,江童顏郭。 梅梅盛林林刁,鍾徐邱駱。 ⾼高夏蔡⽥田,樊胡凌霍。 虞萬⽀支柯,昝管盧莫。 經房裘繆,⼲幹解應宗。 丁宣賁鄧,鬱單杭洪。 包諸左⽯石,崔吉鈕龔。 程嵇邢滑,裴陸榮翁。 荀⽺羊於惠,甄曲家封。 芮羿儲靳,汲邴糜鬆。 井段富巫,烏焦巴⼸弓。 牧隗⼭山⾕谷,⻋車侯宓蓬。 全郗班仰,秋仲伊宮。 寧仇欒暴暴,⽢甘鈄厲戎。 祖武符劉,景詹束⻰龍。 葉幸司韶,郜黎薊薄。 印宿⽩白懷,蒲邰從鄂。 索鹹籍賴,卓藺屠蒙。
287 #
288 #  池喬陰鬱,胥能蒼雙。
289 # 聞莘黨翟,譚貢勞逄。
290 # 姬申扶堵,冉宰酈雍。
291 # 卻璩桑桂,濮⽜牛壽通。
292 # 邊扈燕冀,郟浦尚農。
293 # 溫別莊晏,柴瞿閻充。
294 # 慕連茹習,宦艾⻥魚容。
295 # 向古易易慎,⼽戈廖庾終。
296 # 暨居衡步,都耿滿弘。
297 # 匡國⽂文寇,⼴廣祿闕東。
298 # 歐⽎殳沃利利,蔚越夔隆隆。
299 # 師鞏厙聶,晁勾敖融。
300 # 冷訾⾟辛闞,那簡饒空。
301 # 曾毋沙乜,養鞠須豐。
302 # 巢關蒯相,查後荊紅。
303 # 遊竺權逯,蓋益桓公。
304 # 万俟司⻢馬,上官歐陽。
305 # 夏侯諸葛,聞⼈人東⽅方。
306 # 赫連皇甫,尉遲公⽺羊。
307 # 澹臺公冶,宗政濮陽。
308 # 淳于單于,太叔申屠。
309 # 公孫仲孫,軒轅令狐。
310 # 鍾離宇⽂文,⻓長孫慕容。
311 # 鮮于閭丘,司徒司空。
312 # 丌官司寇,仉督⼦子⻋車。
313 # 顓孫端⽊木,巫⻢馬公⻄西。
314 # 漆雕樂正,壤駟公良。
315 # 拓拓跋夾⾕谷,宰⽗父⾕穀梁梁。
316 # 晉楚閆法,汝鄢塗欽。
317 # 段⼲幹百⾥裡里,東郭南⻔門。
318 # 呼延歸海海,⽺羊⾆舌微⽣生。
319 # 嶽帥緱亢,況郈有琴。
320 # 樑梁丘左丘,東⻔門⻄西⻔門。
321 # 商牟佘佴,伯賞南宮。
322 # 墨墨哈譙笪,年年愛陽佟。
323 # 第五⾔言福,百家姓終。
324 # """
325 first_names = """ 
326 趙錢孫李李,周吳鄭王。
327 馮陳褚衛,蔣沈沈韓楊。 
328 朱秦尤許,何呂施張。 
329 孔曹嚴華,⾦金金魏陶姜。 
330 戚謝鄒喻,柏⽔水竇章。 
331 雲蘇潘葛,奚範彭郎。 
332 魯⻙韋昌⻢馬,苗鳳花⽅方。 
333 俞任袁柳柳,酆鮑史唐。 
334 費廉岑薛,雷雷賀倪湯。 
335 滕殷羅畢,郝鄔安常。 
336 樂於時傅,⽪皮卞⻬齊康。 
337 伍餘元⼘卜,顧孟平⻩黃。 
338 和穆蕭尹,姚邵湛汪。 
339 祁⽑毛禹狄,⽶米⻉貝明臧。 
340 計伏成戴,談宋茅龐。 
341 熊紀舒屈,項祝董樑梁。 
342 杜阮阮藍閔,席季麻強。 
343 賈路路婁危,江童顏郭。 
344 梅梅盛林林刁,鍾徐邱駱。 
345 ⾼高夏蔡⽥田,樊胡凌霍。 
346 虞萬⽀支柯,昝管盧莫。 
347 經房裘繆,⼲幹解應宗。 
348 丁宣賁鄧,鬱單杭洪。 
349 包諸左⽯石,崔吉鈕龔。 
350 程嵇邢滑,裴陸榮翁。 
351 荀⽺羊於惠,甄曲家封。 
352 芮羿儲靳,汲邴糜鬆。 
353 井段富巫,烏焦巴⼸弓。 
354 牧隗⼭山⾕谷,⻋車侯宓蓬。 
355 全郗班仰,秋仲伊宮。 
356 寧仇欒暴暴,⽢甘鈄厲戎。 
357 祖武符劉,景詹束⻰龍。 
358 葉幸司韶,郜黎薊薄。 
359 印宿⽩白懷,蒲邰從鄂。 
360 索鹹籍賴,卓藺屠蒙。
361 池喬陰鬱,胥能蒼雙。
362 聞莘黨翟,譚貢勞逄。
363 姬申扶堵,冉宰酈雍。
364 卻璩桑桂,濮⽜牛壽通。
365 邊扈燕冀,郟浦尚農。
366 溫別莊晏,柴瞿閻充。
367 慕連茹習,宦艾⻥魚容。
368 向古易易慎,⼽戈廖庾終。
369 暨居衡步,都耿滿弘。
370 匡國⽂文寇,⼴廣祿闕東。
371 歐⽎殳沃利利,蔚越夔隆隆。
372 師鞏厙聶,晁勾敖融。
373 冷訾⾟辛闞,那簡饒空。
374 曾毋沙乜,養鞠須豐。
375 巢關蒯相,查後荊紅。
376 遊竺權逯,蓋益桓公。
377 万俟司⻢馬,上官歐陽。
378 夏侯諸葛,聞⼈人東⽅方。
379 赫連皇甫,尉遲公⽺羊。
380 澹臺公冶,宗政濮陽。
381 淳于單于,太叔申屠。
382 公孫仲孫,軒轅令狐。
383 鍾離宇⽂文,⻓長孫慕容。
384 鮮于閭丘,司徒司空。
385 丌官司寇,仉督⼦子⻋車。
386 顓孫端⽊木,巫⻢馬公⻄西。
387 漆雕樂正,壤駟公良。
388 拓拓跋夾⾕谷,宰⽗父⾕穀梁梁。
389 晉楚閆法,汝鄢塗欽。
390 段⼲幹百⾥裡里,東郭南⻔門。
391 呼延歸海海,⽺羊⾆舌微⽣生。
392 嶽帥緱亢,況郈有琴。
393 樑梁丘左丘,東⻔門⻄西⻔門。
394 商牟佘佴,伯賞南宮。
395 墨墨哈譙笪,年年愛陽佟。
396 第五⾔言福,百家姓終。
397 """
398 #這道題使用上面的字串是沒辦法清楚的判斷兩個字的姓氏的,
399 # uname = input('Name:').strip()
400 # if uname[0] not in first_names:
401 #     print('不是是百家姓中的姓氏')
402 # else:
403 #     print('是百家姓中的姓氏')
404 
405 #升級:(下面的列表只是隨意列出了幾個姓氏)
406 # 好的解決方法是把百家姓的每一個都寫入列表中,遍歷列表,看姓名的開頭(即姓氏)是否是列表中的元素
407 lst = ['上官', '歐陽', '', '', '', '']
408 for el in lst:
409     if name.startswith(el):
410         print('是百家姓裡面的')
411         break
412 else:
413     print('對不起,姓氏不在百家姓裡面')
414 
415 
416 
417 
418 
419 
420 
421 #422 #
423 #  明⽇日默寫內容:
424 # 分別⽤用while,for迴圈輸出字串串s = input("你想輸⼊入的內容")的每⼀一個 字元。
425 #用while
426 s = input('你想輸入的內容:')
427 i = 0
428 while i < len(s):
429     print(s[i])
430     i += 1
431 #用for
432 s = input('你想輸入的內容:')
433 for c in s:
434     print(c)
參考答案