[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
上一篇: 十分钟实现发送邮件服务