Day01-Python基础7-作业2

  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("请输入内容:")  #如  fhda1234slfh98769fjdla
  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_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))

  

 

posted on 2018-10-25 17:11  morgan363  阅读(528)  评论(0)    收藏  举报

导航