python进阶(1/2)

1)字符串
相关知识:字符串是不可变序列。如需要修改字符串内的内容,则需要重新构造或拼接新的字符串对象。

测试输入:**----*hello Nanjing, Hello China**----
预期输出:
hello Nanjing, Hello China
2
你好 NANJING, 你好 CHINA
['你好 NANJING', ' 你好 CHINA']
你好 NANJING****************** 你好 CHINA
#字符串
mystr = input()
#   根据注释信息的提示,完成代码   #
# ********** Begin *********#
#滤除字符串左右两端的*和-,并把结果重新赋给mystr
mystr1=mystr.strip('*')
mystr2 = mystr1.strip('-')
mystr3 = mystr2.strip('-')
mystr=mystr2.strip('*')
print(mystr)

#统计字符串中'hello'出现的次数,忽略大小写,次数赋给变量count
count1=mystr.count('hello')
count2=mystr.count('Hello')
count=count1+count2
print(count)

#先将字符串转成大写,再所有的'HELLO'替换为'你好',并把结果重新赋给mystr
mystr=mystr.upper()
mystr=mystr.replace('HELLO','你好')
print(mystr)
#按西文','分隔字符串mystr,结果赋给列表变量rs
rs=mystr.split(',')
print(rs)
#将rs中的字符串重新拼接为一个字符串,字串之间用18个’*‘做分隔符,并把结果重新赋给mystr
mystr='******************'.join(rs)
print(mystr)

2)统计文本的相关信息

#字符串
indian_poem = """If it looks like a duck,
swims like a duck,
and quacks like a duck,
then it probably is a duck."""

#   根据注释信息的提示,完成代码   #
# ********** Begin *********#
#统计文本的行数
str = indian_poem.split('\n')
lines=len(str)
print(lines)
count = 0
#统计文本中各类符号的总数,含标点符号
for i in indian_poem:
    count=count+1
charac_num=count
print(charac_num)
#统计文本中字符 a 出现的数量
a_num=indian_poem.count('a')
print(a_num)

#统计文本中的单词数量
str2=indian_poem.split(' ')
words_num=len(str2)+lines-1

print(words_num)


# ********** End **********#

3)合并列表
要求:合并两个数据列表为一个列表rs,并对其中的元素进行降序排序。

测试输入:[1,2],[3,4,5]
预期输出:
[5,4,3,2,1]
#list
#本关任务:合并两个数据列表为一个列表rs,并对其中的元素进行降序排序。
list1=[100,-3,45,17,9]
list2=[11,23,5,37,6,0,9]
# ********** Begin *********#
rs=list1+list2
rs.sort(reverse=True)
# ********** End **********#
print(rs)

4)列表模拟数据结构中的队列,实现队列操作
相关知识:队列是常用数据结构,先到的排在前面,后到的排在队尾,离开时总是从队首提取数据。

#list
#本关任务:用列表模拟队列,即删除数据时只删除位置0的元素,插入数据时只在列表的末尾插入。
#每插入一个元素后,都从队列中删除一个元素

#准备输入的数据
Input_list=[10, 'x', 'hello', 3.14, '老铁', 666]

#队列,已经有少量数据
queue=['python',[1,2,3],0]

for item in Input_list:
    # ********** Begin *********#
    #在队尾追加数据
     queue.append(item)

    #删除队首元素
     del queue[0]

    # ********** End **********#
print(queue)

5)列表:二维列表操作
任务:编程实现向量与矩阵乘法。

测试输入:[1,2,3],[[1,2,3],[4,5,6]];
预期输出:
[14,32]
#list 二维列表
#本关任务:求一个向量与二维矩阵的乘积,结果保存在列表result中。
#向量乘以矩阵的一列,对应位置元素相乘,再将多个乘积相加
#例如[33,66,99]先与11,44,77相乘再相加,33*11+66*44+99*77
vector=[33,66,99]
matrix=[[11,22,33], [44,55,66], [77,88,99]]
result=[]
# ********** Begin *********#
for i in range (len(matrix)):
    sum=0
    for j in range (len(vector)):
        sum=vector[j]*matrix[j][i]+sum
    result.append(sum)
# ********** End **********#
print(result)

6)实现字典的创建、合并、打印

#dictory字典基本操作
#本关任务:创建、合并、打印字典。

#   根据注释信息的提示,完成代码   #
# ********** Begin *********#
#建立字典d1,包含内容 "语文":89, "英文":93,"数学":66
d1={'语文':89,'英文':93,'数学':66}

#建立字典d2,包含内容 "Python":100, "物理":80,"数学":99
d2={ "Python":100,"物理":80,"数学":99}

#合并两个字典,结果保存到d1中
d1.update(d2)

#打印d1中的全部数据,每个键-值对印一行,格式示例"语文:89",中间没有空格,冒号为英文冒号
for k,v in d1.items():
    print(f'{k}:{v}')

# ********** End **********#

7)利用字典存储相关特征的统计数据。
要求:统计文本中各类符号的出现次数,用字典变量记录,打印出现次数最高的前5个词,每个词一行。
打印格式示例:
我:5
其中冒号为西文冒号。

测试输入:我说道:“爸爸,你走吧。”他往车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些
预期输出:
,:6
。:5
走:4
去:4
我:3
#dictory字典应用
#本关任务:统计文本中各类符号的出现次数,用字典变量记录,打印出现次数最高的前5个词,每个词一行,打印格式示例  我:5,其中冒号为西文冒号。

#text ="""我说道:“爸爸,你走吧。”他往车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,穿着黑布大马褂,深青布棉袍,蹒跚地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,要爬上那边月台,就不容易了。"""

text =input()
words_list = list(text)
#print(words_list)
words_dict={}

#统计出现次数
for i in words_list:
    words_dict[i]=words_list.count(i)
# print(words_dict)

items=list(words_dict.items())
#print(items)
#逆序排序
items.sort(key=lambda x:x[1], reverse=True)
#print(items)
#打印记录
words_dict=dict(items[0:5])
for key,value in words_dict.items():
    print(f'{key}:{value}')

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值