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

2022-07-31,,,

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

《[Python基础 ] Day_07_作业参考答案.doc》

下载本文的Word格式文档,以方便收藏与打印。