字符串作业及默写

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//?!@ '
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)
参考答案

猜你喜欢

转载自www.cnblogs.com/liangxiaoji/p/10056523.html