python综合题_python基础综合题----选自python二级考试

《笑傲江湖》是金庸的重要武侠作品之一。这里给出一个《笑傲江湖》的网络版本,

文件名为“笑傲江湖-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

问题1:请编写程序,统计该文件中出现的所有中文字符及标点符号的数量,每个字符及数量之间用冒号:分隔,

例如“笑:1024”,将所有字符及数量的对应采用逗号分隔,以CSV文件格式保存到“笑傲江湖-字符统计.txt”文件中。

注意,统计字符不包括空格和回车。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

问题2:请编写程序,统计“笑傲江湖-网络版.txt”中出现在引号内所有字符占文本总字符的比例,

采用如下方式打印输出:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

用程序运行结果的真实数字替换上述示例中数字,均保留整数,字符串中标点符号采用中文字符。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式

问题一输出:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

笑:1024, 傲:2048, 江:128, 湖:64

(略)

问题二输出:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

占总字符比例:20%。

问题1参看代码

fi = open("笑傲江湖-网络版.txt", "r", encoding='utf-8')

fo = open("笑傲江湖-字符统计.txt", "w", encoding='utf-8')

txt = fi.read()

d = {}

for c in txt:

d[c] = d.get(c, 0) + 1

del d[' ']

del d['\n']

ls = []

for key in d:

ls.append("{}:{}".format(key, d[key]))

fo.write(",".join(ls))

fi.close()

fo.close()

问题2参考代码

fi = open("笑傲江湖-网络版.txt", "r", encoding='utf-8')

txt = fi.read()

cnt = 0

flag = False

for c in txt:

if c == "“":

flag = True

continue

if c == "”":

flag = False

if flag:

cnt += 1

print("占总字符比例:{:.0%}。".format(cnt/len(txt)))

fi.close()

《射雕英雄传》是金庸的重要武侠作品之一。这里给出一个《射雕英雄传》的网络版本,

文件名为“射雕英雄传-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

请编写程序,统计该文件出现的所有中文词语及出现次数(不要求输出),

并输出按照出现次数最多的8个词语,采用如下方式打印输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬《射雕英雄传》下载

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

词语1,词语2,词语3,词语4,词语5,词语6,词语7,词语8

参考代码

import jieba

fi = open("射雕英雄传-网络版.txt", "r", encoding='utf-8')

txt = fi.read()

fi.close()

ls = jieba.lcut(txt)

d = {}

for w in ls:

d[w] = d.get(w, 0) + 1

for x in " \n,。!“”:":

del d[x]

rst = []

for i in range(8):

mx = 0

mxj = 0

for j in d:

if d[j] > mx:

mx = d[j]

mxj = j

rst.append(mxj)

del d[mxj]

print(",".join(rst))

《侠客行》是金庸的重要武侠作品之一,主要叙述一个懵懂少年石破天的江湖经历。

这里给出一个《侠客行》的网络版本,文件名为“侠客行-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

基础中文字符的Unicode编码范围是[0x4e00,0x9fa5],请统计给定文本中存在多少该范围内的

基础中文字符以及每个字符的出现次数。以如下模式(CSV格式)保存在“侠客行-字符统计.txt”文件中。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

示例输出中括号内是对应字符的十六进制Unicode编码形式,冒号后是出现次数,逗号两侧无空格。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式

侠(0x4fa0):888, 客(0x5ba2):666, 行(0x884c):111

(略)

参考代码

fi = open("侠客行-网络版.txt", "r", encoding='utf-8')

fo = open("侠客行-字符统计.txt", "w", encoding='utf-8')

txt = fi.read()

d = {}

for c in txt:

if 0x4e00 <= ord(c) <= 0x9fa5:

d[c] = d.get(c, 0) + 1

ls = []

for key in d:

ls.append("{}(0x{:x}):{}".format(key, ord(key),d[key]))

fo.write(",".join(ls))

fi.close()

fo.close()

文件 sweb.html 保存了一个网页的源代码,其中,“href=”引导后面会有一个URL链接,

例如:href="http://news.sina.com.cn/feedback/post.html",其中,

有一种链接前后都有空格,且双引号内以“http://”开头。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

请编写程序,解析这个文件,提取出现符合上述特征的URL链接,每个链接一行,保存到“text-urls.txt”文件中,

格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

URL1

URL2

(略)

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬参考代码

fi = open("sweb.html", "r", encoding='utf-8')

fo = open("text-urls.txt", "w", encoding='utf-8')

txt = fi.read()

ls = txt.split(" ")

urls = []

for item in ls:

if item[:5]=="href=" and item[6:13]=="http://":

x = item.find(">",5)

if x == -1:

urls.append(item[6:-1])

else:

urls.append(item[6:x-len(item)-1])

for item in urls:

fo.write(item +"\n")

fi.close()

fo.close()

  • 1
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值