Day01-Python基础7-作业2
- 有变量 name = "aleX leNb" 完成如下操作:
- 移除 name 变量对应两边的空格,并输出结果
- 移除 name 变量左边的 "al" 并输出结果
- 移除 name 变量右边的 "Nb" 并输出结果
- 移除 name 变量开头的 "a" 与 后头的 "b",并输出结果
- 判断 name 变量是否以 "al" 开头,并输出结果
- 判断 name 变量是否以 "Nb" 结尾,并输出结果
- 将 name 变量对应的值中的 所有的 "l" 替换成 "p",并输出结果
- 将 name 变量对应的值中的 第一个 "l" 替换成 "p",并输出结果
- 将 name 变量对应的值 根据所有的 "l" 分割,并输出结果
- 将 name 变量对应的值 根据第一个 "l" 分割,并输出结果
- 将 name 变量对应的值 变大写,并输出结果
- 将 name 变量对应的值 变小写,并输出结果
- 将 name 变量对应的值 首字母 "a" 变大写,并输出结果
- 判断 name 变量对应的值 字母 "l" 出现几次,并输出结果
- 如果判断 name 变量对应的值 前四位 "l" 出现几次,并输出结果
- 从 name 变量对应的值中找到 "N" 对应的索引(如果找不到则报错),并输出结果
- 从 name 变量对应的值中找到 "N" 对应的索引(如果找不到则返回 -1),并输出结果
- 从 name 变量对应的值中找到 "X le" 对应的索引,并输出结果
- 请输出 name 变量对应的值的第 2 个字符
- 请输出 name 变量对应的值的前 3 个字符
- 请输出 name 变量对应的值的后 2 个字符
- 请输出 name 变量对应的值中 "e" 所在索引位置
- 字符串 s = "123a4b5c"
- 通过对 s 切片形成新的字符串 s1,s1="123"
- 通过对 s 切片形成新的字符串 s2,s2="a4b"
- 通过对 s 切片形成新的字符串 s3,s3="1345"
- 通过对 s 切片形成新的字符串 s4,s4="2ab"
- 通过对 s 切片形成新的字符串 s5,s5="c"
- 通过对 s 切片形成新的字符串 s6,s6="ba2"
- 使用 while 和 for 循环分别打印字符串 s = "asdfer" 中的每个元素。
- 使用 for 循环对 s = "asdfer" 进行循环,但是每次打印的内容都是 "asdfer"。
- 使用 for 循环对 s = "abcdefg" 进行循环,每次打印的内容是每个字符加上 sb。
例如: asb bsb csb .... gsb - 使用 for 循环对 s = "321" 进行循环,打印的内容依次是: "倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
- 实现一个整数加法计算器(两个数相加)。
如:content = input("请输入内容"),用户输入 5+9 或 5+ 9 或 5 + 9,然后再进行分割后再进行计算。 - (升级题)实现一个整数假发计算器(多个数相加)。
如:content = input("请输入内容:") 用户输入: 5+9+6 +12+ 13,然后进行分割再进行计算。 - 计算用户输入的内容中有几个整数(以个位数为单位)。
如 content = input("请输入内容:") #如 fhda1234slfh98769fjdla - 写代码,完成下列需求:
用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大回家,然后在让用户进一步选择: 是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好战斗准备。’并让其重新输入A,B,C选项。 - 写代码:计算 1-2+3...+99 中除了 88 以外所有数的总和
- 判断一句话是否是回文。(回文:正着念和反着念都是一样的)例如:上海自来水来自海上
- 输入一个字符串,要求判断在这个字符串中大写字母,小写字母,数字,其他字符分别共出现了几次,并输出来。
- 制作趣味模板程序需求:
等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现。
如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx。 - (升级题)给出百家姓,然后用户输入一个人的姓名,判断这个人是否是百家姓中的姓氏。
first_name = """
赵钱孙李,周吴郑王。
冯陈褚卫,蒋沈韩杨。
朱秦尤许,何吕施张。
孔曹严华,金魏陶姜。
戚谢邹喻,柏水窦章。
云苏潘葛,奚范彭郎。
鲁韦昌马,苗凤花方。
俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。
滕殷罗毕,郝邬安常。
乐于时傅,皮卞齐康。
伍余元卜,顾孟平黄。
和穆萧尹,姚邵湛汪。
祁毛禹狄,米贝明臧。
计伏成戴,谈宋茅庞。
熊纪舒屈,项祝董梁。
杜阮蓝闵,席季麻强。
贾路娄危,江童颜郭。
梅盛林刁,钟徐邱骆。
高夏蔡田,樊胡凌霍。
虞万支柯,昝管卢莫。
经房裘缪,干解应宗。
丁宣贲邓,郁单杭洪。
包诸左石,崔吉钮龚。
程嵇邢滑,裴陆荣翁。
荀羊於惠,甄曲家封。
芮羿储靳,汲邴糜松。
井段富巫,乌焦巴弓。
牧隗山谷,车侯宓蓬。
全郗班仰,秋仲伊宫。
宁仇栾暴,甘钭厉戎。
祖武符刘,景詹束龙。
叶幸司韶,郜黎蓟薄。
印宿白怀,蒲邰从鄂。
索咸籍赖,卓蔺屠蒙。
池乔阴鬱,胥能苍双。
闻莘党翟,谭贡劳逄。
姬申扶堵,冉宰郦雍。
卻璩桑桂,濮牛寿通。
边扈燕冀,郏浦尚农。
温别庄晏,柴瞿阎充。
慕连茹习,宦艾鱼容。
向古易慎,戈廖庾终。
暨居衡步,都耿满弘。
匡国文寇,广禄阙东。
欧殳沃利,蔚越夔隆。
师巩厍聂,晁勾敖融。
冷訾辛阚,那简饶空。
曾毋沙乜,养鞠须丰。
巢关蒯相,查后荆红。
游竺权逯,盖益桓公。
万俟司马,上官欧阳。
夏侯诸葛,闻人东方。
赫连皇甫,尉迟公羊。
澹台公冶,宗政濮阳。
淳于单于,太叔申屠。
公孙仲孙,轩辕令狐。
钟离宇文,长孙慕容。
鲜于闾丘,司徒司空。
丌官司寇,仉督子车。
颛孙端木,巫马公西。
漆雕乐正,壤驷公良。
拓跋夹谷,宰父谷梁。
晋楚闫法,汝鄢涂钦。
段干百里,东郭南门。
呼延归海,羊舌微生。
岳帅缑亢,况郈有琴。
梁丘左丘,东门西门。
商牟佘佴,伯赏南宫。
墨哈谯笪,年爱阳佟。
第五言福,百家姓终。"""
答案:
1. 有变量 name = "aleX leNb" 完成如下操作
# 1.移除 name 变量对应两边的空格,并输出结果
name = " aleX leNb"
value1 = name.strip()
print(value1)
结果:
aleX leNb
#-------------------------
# 2.移除 name 变量左边的 "al" 并输出结果
name = "aleX leNb"
value2 = name.lstrip("al")
print(value2)
结果;
eX leNb
#-------------------------
# 3.移除 name 变量右边的 "Nb" 并输出结果
name = "aleX leNb"
value3 = name.rstrip("Nb")
print(value3)
结果:
aleX le
#-------------------------
# 4.移除 name 变量开头的 "a" 与 后头的 "b",并输出结果
name = "aleX leNb"
value4 = name.lstrip("a").rstrip("b")
print(value4)
结果:
leX leN
#-------------------------
# 5.判断 name 变量是否以 "al" 开头,并输出结果
name = "aleX leNb"
if name.startswith("al"):
print("name 是以 al 开头")
结果:
name 是以 al 开头
#-------------------------
# 6.判断 name 变量是否以 "Nb" 结尾,并输出结果
name = "aleX leNb"
if name.endswith("Nb"):
print("name 是以 Nb 结尾")
结果:
name 是以 Nb 结尾
#-------------------------
# 7.将 name 变量对应的值中的 所有的 "l" 替换成 "p",并输出结果
name = "aleX leNb"
print(name.replace("l","p"))
结果:
apeX peNb
#-------------------------
# 8.将 name 变量对应的值中的 第一个 "l" 替换成 "p",并输出结果
name = "aleX leNb"
print(name.replace("l","p",1))
结果:
apeX leNb
#-------------------------
# 9.将 name 变量对应的值 根据所有的 "l" 分割,并输出结果
name = "aleX leNb"
print(name.split("l"))
结果:
['a', 'eX ', 'eNb']
#-------------------------
# 10.将 name 变量对应的值 根据第一个 "l" 分割,并输出结果
name = "aleX leNb"
print(name.split("l",1))
结果:
['a', 'eX leNb']
#-------------------------
# 11.将 name 变量对应的值 变大写,并输出结果
name = "aleX leNb"
print(name.upper())
结果:
ALEX LENB
#-------------------------
# 12.将 name 变量对应的值 变小写,并输出结果
name = "aleX leNb"
print(name.lower())
结果:
alex lenb
#-------------------------
# 13.将 name 变量对应的值 首字母 "a" 变大写,并输出结果
name = "aleX leNb"
print(name.capitalize())
结果:
Alex lenb
#-------------------------
# 14.判断 name 变量对应的值 字母 "l" 出现几次,并输出结果
name = "aleX leNb"
count1 = 0
for i in name:
if i == "l":
count1 += 1
print(count1)
结果:
2
如上,可以直接一行代码: print(name.count("l"))
#-------------------------
# 15. 如果判断 name 变量对应的值 前四位 "l" 出现几次,并输出结果
name = "aleX leNb"
count2 = 0
for i in name[0:4]:
if i == "l":
count2 += 1
print(count2)
结果:
1
如上,可以用一行代码: print(name.count("l",0,4)
#-------------------------
# 16.从 name 变量对应的值中找到 "N" 对应的索引(如果找不到则报错),并输出结果
name = "aleX leNb"
print(name.index("N"))
print(name.index("H"))
结果:
7
Traceback (most recent call last):
File "D:/Projects/pyweb/Day03/day03-zuoye2.py", line 3, in <module>
print(name.index("H"))
ValueError: substring not found
#-------------------------
# 17.从 name 变量对应的值中找到 "N" 对应的索引(如果找不到则返回 -1),并输出结果
name = "aleX leNb"
print(name.find("N"))
print(name.find("H"))
结果:
7
-1
#-------------------------
# 18.从 name 变量对应的值中找到 "X le" 对应的索引,并输出结果
name = "aleX leNb"
print(name.index("X le"))
结果:
3
#-------------------------
# 19.请输出 name 变量对应的值的第 2 个字符
name = "aleX leNb"
print(name[1])
结果:
l
#-------------------------
# 20.请输出 name 变量对应的值的前 3 个字符
name = "aleX leNb"
print(name[0:3])
结果:
ale
#-------------------------
# 21.请输出 name 变量对应的值的后 2 个字符
name = "aleX leNb"
print(name[-2:])
结果:
Nb
#-------------------------
# 22.请输出 name 变量对应的值中 "e" 所在索引位置
name = "aleX leNb"
print(name.index("e"))
结果:
2
2、字符串 s = "123a4b5c"
通过对 s 切片形成新的字符串 s1,s1="123"
通过对 s 切片形成新的字符串 s2,s2="a4b"
通过对 s 切片形成新的字符串 s3,s3="1345"
通过对 s 切片形成新的字符串 s4,s4="2ab"
通过对 s 切片形成新的字符串 s5,s5="c"
通过对 s 切片形成新的字符串 s6,s6="ba2"
s = "123a4b5c"
print(len(s))
# 通过对 s 切片形成新的字符串 s1,s1="123"
s1 = s[0:3]
print("s1 =",s1)
# 通过对 s 切片形成新的字符串 s2,s2="a4b"
s2 = s[3:6]
print("s2 =",s2)
# 通过对 s 切片形成新的字符串 s3,s3="1345"
s3 = s[0::2]
print("s3 =",s3)
# 通过对 s 切片形成新的字符串 s4,s4="2ab"
s4 = s[1:7:2]
print("s4 =",s4)
# 通过对 s 切片形成新的字符串 s5,s5="c"
s5 = s[-1]
print("s5 =",s5)
# 通过对 s 切片形成新的字符串 s6,s6="ba2"
s6 = s[-3::-2]
print("s6 =",s6)
输出结果:
8
s1 = 123
s2 = a4b
s3 = 1345
s4 = 2ab
s5 = c
s6 = ba2
3. 使用 while 和 for 循环分别打印字符串 s = "asdfer" 中的每个元素。
# 3. 使用 while 和 for 循环分别打印字符串 s = "asdfer" 中的每个元素。
s = "asdfer"
i = 0
while True:
if i < len(s):
print(s[i])
else:
break
i = i + 1
print("-----------------------")
count = 0
while count < len(s):
print(s[count])
count = count + 1
print("-----------------------")
for m in s:
print(m)
输出结果:
a
s
d
f
e
r
-----------------------
a
s
d
f
e
r
4. 使用 for 循环对 s = "asdfer" 进行循环,但是每次打印的内容都是 "asdfer"。
# 4. 使用 for 循环对 s = "asdfer" 进行循环,但是每次打印的内容都是 "asdfer"。
s = "asdfer"
for i in s:
print(s)
输出结果:
asdfer
asdfer
asdfer
asdfer
asdfer
asdfer
5. 使用 for 循环对 s = "abcdefg" 进行循环,每次打印的内容是每个字符加上 sb。
# 5. 使用 for 循环对 s = "abcdefg" 进行循环,每次打印的内容是每个字符加上 sb。
s = "abcdefg"
for i in s:
print(i+"sb")
输出结果:
asb
bsb
csb
dsb
esb
fsb
gsb
6. 使用 for 循环对 s = "321" 进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
# 6. 使用 for 循环对 s = "321" 进行循环,打印的内容依次是:
# "倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
s = "321"
for i in s:
print("倒计时"+str(i)+"秒")
print("出发!")
输出结果:
倒计时3秒
倒计时2秒
倒计时1秒
出发!
7. 实现一个整数加法计算器(两个数相加)。
# 7.实现一个整数加法计算器(两个数相加)。
# 如:content = input("请输入内容"),用户输入 5+9 或 5+ 9 或 5 + 9,然后再进行分割后再进行计算。
content = input("请输入内容:")
con1 = content.replace(" ","")
con2 = con1.split("+")
print(int(con2[0])+int(con2[1]))
输出结果:
请输入内容:100 + 11
111
8. (升级题)实现一个整数加发计算器(多个数相加)。
# 8. (升级题)实现一个整数假发计算器(多个数相加)。
# 如:content = input("请输入内容:") 用户输入: 5+9+6 +12+ 13,然后进行分割再进行计算。
content = input("请输入内容:")
con1 = content.replace(" ","")
con2 = con1.split("+")
sum = 0
for m in con2:
sum = sum + int(m)
print(sum)
还有一种写法:
content = input("请输入内容:").strip()
c = content.split("+")
sum = 0
for n in c:
sum += int(n)
else:
print(sum)
输出结果:
请输入内容:1 + 2 + 3 + 4 + 5 +6
21
9. 计算用户输入的内容中有几个整数(以个位数为单位)。
# 9. 计算用户输入的内容中有几个整数(以个位数为单位)。
# 如 content = input("请输入内容:") #如 fhda1234slfh98769fjdla
content = input("请输入内容:")
num = 0
for i in content:
if i.isdigit():
num = num + 1
print("该字符串 \"%s\" 中有 %s 个整数。" % (content,num))
啰嗦一点:
content = input("请输入内容:")
count = 0
b = 0
while count < len(content):
c = content[count]
if c.isdigit():
b += 1
count += 1
print("该字符串 \"%s\" 中有 %s 个整数。" % (content,b))
输出结果:
请输入内容:fhda1234slfh98769fjdla
该字符串 "fhda1234slfh98769fjdla" 中有 9 个整数。
10. 写代码,完成出行方式的选择需求。
# 10. 写代码,完成下列需求:
# 用户可持续输入(用while循环),用户使用的情况:
# 输入A,则显示走大回家,然后在让用户进一步选择: 是选择公交车,还是步行?
# 选择公交车,显示10分钟到家,并退出整个程序。
# 选择步行,显示20分钟到家,并退出整个程序。
# 输入B,则显示走小路回家,并退出整个程序。
# 输入C,则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧?
# 选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
# 选择网吧,则显示‘两个小时到家,妈妈已做好战斗准备。’并让其重新输入A,B,C选项。
while True:
using = input("请输入出行方式(A-走大路;B-走小路;C-绕道回家):")
if using.upper() == "A":
print("走大路回家")
jiaotong = input("请选择交通工具(bus:公交车;walk:步行):")
if jiaotong == "bus":
print("您选择乘坐公交车,10分钟后到家。")
break
elif jiaotong == "walk":
print("您选择步行,20分钟到家。")
break
else:
print("请重新选择。")
continue
elif using.upper() == "B":
print("走小路回家.")
break
elif using.upper() == "C":
print("绕道回家。")
yule = input("请输入游玩方式(youxi-游戏厅;wangba-网吧):")
if yule == "youxi":
print("一个半小时到家,爸爸在家,拿棍等你。")
continue
elif yule == "wangba":
print("两个小时到家,妈妈已经做好战斗准备。")
continue
else:
print("请重新选择。")
continue
else:
print("请重新选择。")
continue
11. 写代码:计算 1-2+3...+99 中除了 88 以外所有数的总和
# 11. 写代码:计算 1-2+3...+99 中除了 88 以外所有数的总和
sum = 0
for i in range(1,100):
if i == 88:
continue
elif i % 2 == 1:
sum = sum + i # 或 sum += i
else:
sum = sum - i # 或 sum -= i
print(sum)
print("-------------------")
num = 0
sum = 0
while num <= 99:
if num == 88:
pass
elif num % 2 == 1:
sum += num
else:
sum -= num
num += 1
print(sum)
输出结果:
138
12. 判断一句话是否是回文。
# 12. 判断一句话是否是回文。(回文:正着念和反着念都是一样的)例如:上海自来水来自海上
str1 = input("请输入一句话:")
str2 = str1[-1::-1] #也可以写成 str2 = str1[::-1]
if str2 == str1:
print(str1 + "。这句话是一句回文。")
else:
print(str1 + "。这句话不是一句回文。")
复杂一点:
content = input("请输入一句话:")
bb = len(content)
num = 0
for i in range(0,int(bb/2)):
if content[i] == content[bb-i-1]:
i = i + 1
else:
break
num = num + 1
if num == int(bb/2):
print(content + "。这是一句回文")
else:
print(content + "。这不是一句回文")
输出结果:
请输入一句话:上海自来水来自海上
上海自来水来自海上。这句话不是一句回文。
请输入一句话:abcdef
abcdef。这句话不是一句回文。
另外一种方法:
content = input("请输入一句话:")
list1 = []
for i in content:
list1.append(i) #生成列表
list1.reverse() # 将列表进行转换
str1 = ""
str2 = str1.join(list1) # 将列表转换成字符串
print(str2)
if str2 == content:
print("“%s”-- 这是一句回文。" %(content))
else:
print("“%s”-- 这不是一句回文。" % (content))
13. 输入一个字符串,要求判断在这个字符串中大写字母,小写字母,数字,其他字符分别共出现了几次,并输出来。
# 13.输入一个字符串,要求判断在这个字符串中大写字母,小写字母,数字,其他字符分别共出现了几次,并输出来。
str1 = input("请输入内容:")
num_n = 0 # 数字计数
num_a = 0 # 字母计数
num_o = 0 # 其他字符计数
for i in str1:
if i.isdigit():
num_n = num_n + 1
elif i.isalpha():
num_a = num_a + 1
else:
num_o = num_o + 1
print("该字符串\"" + str1 + "\"包含的字母有" + str(num_a) + "个。")
print("该字符串\"" + str1 + "\"包含的数字有" + str(num_n) + "个。")
print("该字符串\"" + str1 + "\"包含的其他字符有" + str(num_o) + "个。")
输出结果:
请输入内容:abc123563&*(#34
该字符串"abc123563&*(#34"包含的字母有3个。
该字符串"abc123563&*(#34"包含的数字有8个。
该字符串"abc123563&*(#34"包含的其他字符有4个。
正确的方法:
content = input("请输入内容:").strip()
count = 0
num = 0
A_num = 0
a_num = 0
o_num = 0
while count < len(content):
c = content[count]
if c.isdigit():
num += 1
elif c.isupper():
A_num += 1
elif c.islower():
a_num += 1
else:
o_num += 1
count += 1
print("输入的字符串有 %s 个整数,%s 个大写字母, %s 个小写字母, %s 个其他字符" % (num,A_num,a_num,o_num))
输出结果:
请输入内容:Abc1D2e3F5%%#BD10u
输入的字符串有 3 个整数,5 个大写字母, 4 个小写字母, 3 个其他字符
14. 制作趣味模板程序需求。
# 14. 制作趣味模板程序需求:
# 等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意实现。
# 如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx。
name = input("请输入姓名:")
address = input("请输入地址:")
interest = input("请输入兴趣:")
print("敬爱可亲的 " + name + ",最喜欢在 " + address + " 地方干 " + interest + " 。")
或
# print("敬爱可亲的 %s,最喜欢在 %s 地方干 %s 。" % (name,address,interest))
输出结果:
请输入姓名:张三
请输入地址:砖厂
请输入兴趣:搬砖
敬爱可亲的 张三,最喜欢在 砖厂 地方干 搬砖 。
15.
first_name = """
赵钱孙李,周吴郑王。
冯陈褚卫,蒋沈韩杨。
朱秦尤许,何吕施张。
孔曹严华,金魏陶姜。
戚谢邹喻,柏水窦章。
云苏潘葛,奚范彭郎。
鲁韦昌马,苗凤花方。
俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。
滕殷罗毕,郝邬安常。
乐于时傅,皮卞齐康。
伍余元卜,顾孟平黄。
和穆萧尹,姚邵湛汪。
祁毛禹狄,米贝明臧。
计伏成戴,谈宋茅庞。
熊纪舒屈,项祝董梁。
杜阮蓝闵,席季麻强。
贾路娄危,江童颜郭。
梅盛林刁,钟徐邱骆。
高夏蔡田,樊胡凌霍。
虞万支柯,昝管卢莫。
经房裘缪,干解应宗。
丁宣贲邓,郁单杭洪。
包诸左石,崔吉钮龚。
程嵇邢滑,裴陆荣翁。
荀羊於惠,甄曲家封。
芮羿储靳,汲邴糜松。
井段富巫,乌焦巴弓。
牧隗山谷,车侯宓蓬。
全郗班仰,秋仲伊宫。
宁仇栾暴,甘钭厉戎。
祖武符刘,景詹束龙。
叶幸司韶,郜黎蓟薄。
印宿白怀,蒲邰从鄂。
索咸籍赖,卓蔺屠蒙。
池乔阴鬱,胥能苍双。
闻莘党翟,谭贡劳逄。
姬申扶堵,冉宰郦雍。
卻璩桑桂,濮牛寿通。
边扈燕冀,郏浦尚农。
温别庄晏,柴瞿阎充。
慕连茹习,宦艾鱼容。
向古易慎,戈廖庾终。
暨居衡步,都耿满弘。
匡国文寇,广禄阙东。
欧殳沃利,蔚越夔隆。
师巩厍聂,晁勾敖融。
冷訾辛阚,那简饶空。
曾毋沙乜,养鞠须丰。
巢关蒯相,查后荆红。
游竺权逯,盖益桓公。
万俟司马,上官欧阳。
夏侯诸葛,闻人东方。
赫连皇甫,尉迟公羊。
澹台公冶,宗政濮阳。
淳于单于,太叔申屠。
公孙仲孙,轩辕令狐。
钟离宇文,长孙慕容。
鲜于闾丘,司徒司空。
丌官司寇,仉督子车。
颛孙端木,巫马公西。
漆雕乐正,壤驷公良。
拓跋夹谷,宰父谷梁。
晋楚闫法,汝鄢涂钦。
段干百里,东郭南门。
呼延归海,羊舌微生。
岳帅缑亢,况郈有琴。
梁丘左丘,东门西门。
商牟佘佴,伯赏南宫。
墨哈谯笪,年爱阳佟。
第五言福,百家姓终。"""
name = input("请输入一个姓名:")
len1 = len(name)
str1 = ""
i = 0
for i in range(0,len1):
str1 = str1 + name[i]
print(str1)
if first_name.find(str1) != -1:
print("该姓名 " + name + " 的姓氏在百家姓里以\"" + str1 + "\"姓存在。")
输出结果:
请输入一个姓名:司马亮
司
该姓名 司马亮 的姓氏在百家姓里以"司"姓存在。
司马
该姓名 司马亮 的姓氏在百家姓里以"司马"姓存在。
司马亮
name = input("请输入姓名:")
str1 = ""
for str2 in name:
str1 += str2
if str1 in first_name:
print("“%s”的姓氏 “%s” 在百家姓里。" % (name,str1))
break
else:
print("“%s”的姓氏不在百家姓里。" %(name))
浙公网安备 33010602011771号