欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

[Python基础 ] Day_07_作业参考答案

程序员文章站 2022-07-02 10:30:18
Day_07_Homework_Answer''''''''' 基础题 '''# 1.已知字符串:“this is a test of Python”# a.统计该字符串中字母s出现的次数# b.取出子字符串“test”, 用切片,不能数,使用find(),len()# c.采用不同的方式将字符串倒序输出# d.将其中的"test"替换为"exam"# a.统计该字符串中字母s出现的次数s = 'this is a test of Python'print(s.count('...

Day_07_Homework_Answer

''''''
''' 基础题 '''
# 1.已知字符串:“this is a test of Python”
#  a.统计该字符串中字母s出现的次数
#  b.取出子字符串“test”, 用切片,不能数,使用find(),len()
#  c.采用不同的方式将字符串倒序输出
#  d.将其中的"test"替换为"exam"

#  a.统计该字符串中字母s出现的次数
s = 'this is a test of Python'
print(s.count('s'))

#  b.取出子字符串“test”, 用切片,不能数,使用find(),len()
substr = 'test'
start = s.find(substr)
end = start + len(substr)
print(s[start:end])

#  c.采用不同的方式将字符串倒序输出
print(s[::-1])
s2 = reversed(s)
print("".join(s2))

#  d.将其中的"test"替换为"exam"
print(s.replace('test', 'exam'))



# 2.去掉字符串123@zh@qq.com中的@;
# 提示: replace('@', '')
s = '123@zh@qq.com'
print(s.replace('@', ''))


''' 进阶题 '''
# 1.已知字符串 s = "aAsmr3idd4bgs7Dlsf9eAF",要求如下
#  a.请将s字符串的大写改为小写,小写改为大写
#  b.请将s字符串的数字取出,并输出成一个新的字符串
#  c.请统计s字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),
#      并输出成一个字典。 例 {'a':4,'b':2}
#  d.输出s字符串出现频率最高的字母, 如果有多个最高,将每个都输出.
#  e.请判断'boy'字符串中的每一个字母,是否都出现在s字符串里。
#      如果出现,则输出True,否则,则输出False

s = "aAsmr3idd4bgs7Dlsf9eAF"

#  a.请将s字符串的大写改为小写,小写改为大写
print(s.swapcase())

#  b.请将s字符串的数字取出,并输出成一个新的字符串
s2 = ''
for c in s:
    if c.isdigit():
        s2 += c
print(s2)

#  c.请统计s字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),
#      并输出成一个字典。 例 {'a':4,'b':2}
s = "aAsmr3idd4bgs7Dlsf9eAF"
d = {}
for c in s:
    if c.isalpha():
        c = c.lower()
        if c not in d:
            d[c] = 1
        else:
            d[c] = d[c] + 1
print(d)

#  d.输出s字符串出现频率最高的字母, 如果有多个最高,将每个都输出.
big = max(d.values())
for k,v in d.items():
    if v == big:
        print(k, end=' ')

print()


#  e.请判断'boy'字符串中的每一个字母,是否都出现在s字符串里。
#      如果出现,则输出True,否则,则输出False
s = "aAsmr3idd4bgs7Dlsf9eAF"
substr = 'boy'
for c in substr:
    if c not in s:
        print(False)
        break
else:
    print(True)



# 2.将字符串按照单词进行逆序,空格作为划分单词的唯一条件
#      如传入:”Welome to Beijing”改为 “Beijing to Welcome”
s = 'Welome to Beijing'
l = s.split()
# l.reverse()
s2 = " ".join(l[::-1])
print(s2)



''' 挑战题 '''
# 1.输入一个字符串,压缩字符串如下aabbbccccbbd变成a2b5c4d1
s = 'aabbbccccbbd'
d = {}
for c in s:
    if c not in d:
        d[c] = 1
    else:
        d[c] += 1
print(d)  # {'a': 2, 'b': 5, 'c': 4, 'd': 1}

s2 = ""
for k,v in d.items():
    s2 += k
    s2 += str(v)
print(s2)

s = 'aabbbccccbbd'
s2 = ''
for c in s:
    if c not in s2:
        s2 += c
        s2 += str(s.count(c))
print(s2)

s = 'aabbbccccbbd'  # a2b3c4b2d1
s2 = ""
n = 0

for i in range(len(s)):
    if i == 0:
        s2 += s[i]
        n += 1
    else:
        if s[i] == s[i-1]:
            n += 1
        else:
            s2 += str(n)
            n = 1
            s2 += s[i]
s2 += str(n)

print(s2)


# 2,将字符中单词用空格隔开
#       已知传入的字符串中只有字母,每个单词的首字母大写,
#       请将每个单词用空格隔开,只保留第一个单词的首字母大写
#       传入:”HelloMyWorld”
#       返回:”Hello my world”
s = 'HelloMyWorldHe'
s2 = s[0]
for i in range(1, len(s)):
    if s[i].isupper():
        s2 += " " + s[i].lower()
    else:
        s2 += s[i]

print(s2)

本文地址:https://blog.csdn.net/weixin_44298535/article/details/107663057