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

文件名为“笑傲江湖-网络版.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()

draw.py 是一个 turtle 绘图的 Python 程序,内部采用了 import turtle 模式引入 turtle 库。

请编写程序,以该文件为输入,修改源代码,输出对应的 import turtle as t 模式源代码,

名称为 draw2.py,要求 draw2.py 运行结果与 draw.py 一致。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式

输出对应的 import turtle as t 模式源代码,名称为 draw2.py‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

参考代码

fi = open("draw.py", "r", encoding='utf-8')

fo = open("draw2.py", "w", encoding='utf-8')

txt = fi.read()

txt = txt.replace("turtle", "t")

txt = txt.replace("import t", "import turtle as t")

fo.write(txt)

fi.close()

fo.close()

恺撒密码是古罗马恺撒大帝用来对军事情报进行加密的算法,

它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列该字符后面第三个字符,

即循环左移3位,对应关系如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

基础中文字符的Unicode编码范围是[0x4e00,0x9fa5],共20902个字符。请以10451位循环移位数量,

编写中文文本的类恺撒密码加解密方法。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

原文字符P,其密文字符C满足如下条件:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

C = ( P + 10451 ) mod 20902‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

解密与加密方法一致,满足:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

P = ( C + 10451 ) mod 20902‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

标点符号、英文字母不加密。 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

输入格式

输入一行包含中文的文本‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

输出一段加密后的文本‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

输入输出示例

输入

输出

示例 1

全国计算机等级考试二级Python语言程序设计

输入(加解密前):全国计算机等级考试二级Python语言程序设计

输出(加解密后):稻翐拎勄逍剶嗔地挂睟嗔Python挚愭儸蝢拫拎

参考代码

s = input()

d ={}

c = 0x4e00

for i in range(20902):

d[chr(i+c)] = chr((i+10451) % 20902 + c)

print("".join([d.get(c,c) for c in s]))

《神雕侠侣》是金庸先生在武侠小说创作上的一个里程碑,叙述杨过与小龙女之间的故事。

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

《神雕侠侣》中出现了很多人物,这里给出 6 个人物名字:杨过、小龙女、李莫愁、裘千尺、郭靖、黄蓉。

统计人物之间的关联关系,定义一种“亲和度”如下:如果某名字后的 100 个词语出现另外任何一个人名,

则该名字亲和度加1,如果之后不存在 100 个词语则停止检查。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式

请输出每个名字的亲和度,采用“人名-亲和度”形式,亲和度之间采用逗号分隔,以CSV格式输出,保存文件名为“神雕侠侣-人名亲和度.txt”如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

杨过-小龙女:1024, 杨过-李莫愁:20,(略), 小龙女-杨过: 2014

(略)

参考代码

import jieba

fi = open("神雕侠侣-网络版.txt", "r", encoding='utf-8')

fo = open("神雕侠侣-人名亲和度.txt", "w", encoding='utf-8')

names = ["杨过", "小龙女", "李莫愁", "裘千尺", "郭靖", "黄蓉"]

d = {}

for item1 in names:

for item2 in names:

if item1 != item2:

d[item1 + "-" + item2] = 0

txt = fi.read()

ls = jieba.lcut(txt)

for i in range(len(ls)-100):

if ls[i] in names:

for j in range(1,101):

if ls[i+j]!=ls[i] and (ls[i+j] in names):

d[ls[i]+'-'+ls[i+j]] += 1

break

ols = []

for key in d:

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

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

#fo.write(",\n".join(ols))

fi.close()

fo.close()

1949年4月23日,中国人民解放军午夜解放南京,

毛主席在清晨获得消息后写下《七律 人民解放军占领南京》,全文如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

七律 人民解放军占领南京

钟山风雨起苍黄,百万雄师过大江。虎踞龙盘今胜昔,天翻地覆慨而慷。

宜将剩勇追穷寇,不可沽名学霸王。天若有情天亦老,人间正道是沧桑。

问题1:这是一段由标点符号分隔的文本,请编写程序,以标点符号为分隔,将这段文本转换为诗词风格。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

问题2:编写程序,以每半句为单位,保留标点符号为原顺序及位置。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

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

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

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

每行30个字符,诗词居中,每半句一行,去掉所有标点。输出到文件“七律.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

输出全文的翻转形式。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

人间正道是沧桑,天若有情天亦老。(略)

问题1参考代码

s = "钟山风雨起苍黄,百万雄师过大江。\

虎踞龙盘今胜昔,天翻地覆慨而慷。\

宜将剩勇追穷寇,不可沽名学霸王。\

天若有情天亦老,人间正道是沧桑。"

lines = ""

for i in range(0,len(s),8):

lines += s[i:i+7].center(30) +'\n'

print(lines)

fo = open("七律.txt", "w")

fo.write(lines)

fo.close()

问题2参考代码

s = "钟山风雨起苍黄,百万雄师过大江。\

虎踞龙盘今胜昔,天翻地覆慨而慷。\

宜将剩勇追穷寇,不可沽名学霸王。\

天若有情天亦老,人间正道是沧桑。"

ls = []

for i in range(0,len(s),8):

ls.append(s[i:i+7])

ls.reverse()

n = 0

for item in ls:

n = n + 1

if n%2 !=0 :

print(item,end=",")

else:

print(item,end="。\n")

这里有一个中文文本片段:“今天北京有个好天气,大家一起去爬山。”

该句子分上下两部分,以逗号和句号分隔。请对该句子进行分词,并以8为随机种子,

在上下半句分别重新排列组合词语,并组合输出10种不重复的可能。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪

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

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

上下半句词语不交叉,每个可能的组合单行输出,存储到“句子组合.txt”文件中,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

北京今天有个好天气,一起大家去爬山。

有个好天气今天北京,一起大家爬山去。

(略)

参考代码

import jieba

import random

s = "今天北京有个好天气,大家一起去爬山。"

k = s.find(',')

s1 = jieba.lcut(s[0:k])

s2 = jieba.lcut(s[k+1:-1])

random.seed(8)

lines = []

while True:

line = ""

random.shuffle(s1)

random.shuffle(s2)

for item in s1:

line += item

line += ","

for item in s2:

line += item

line += "。"

if line in lines:

continue

else:

lines.append(line)

if len(lines) == 10:

break

f = open("句子组合.txt", "w")

f.write("\n".join(lines))

f.close()

大胆预测 2018 年至 2020 年我国五个城市的房产价格走势如下所示,同时保存为“price2020.csv”文件。

其中,2018/2019/2020 年所列出的数值为当前年份与前一年份的涨跌比。例如,

2018 列数据是预测 2018 年房价以 2017 年价格为基数(100)的比值,

2019 列数据是预测 2019 年房价以 2018 年价格为基数(100)的比值,

2020 列数据是预测 2020 年房价以 2019 年价格为基数(100)的比值。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

城市201820192020

北京112130140

上海123140121

广州9995130

深圳10112994

沈阳939287

请编写程序,以 2017 年为基数,预测 2018/2019/2020 年房价涨跌比,生成一个类似文件,

名称为“price2020a2017.txt”,保留整数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

输出格式

生成文件‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

参考代码

fi = open("price2020.csv","r",encoding ="utf-8")

fo = open("price2020a2017.txt","w",encoding="utf-8")

ls = []

for line in fi:

line = line.replace("\n", "")

ls.append(line.split(","))

for i in range(1,len(ls)):

for j in range(1,len(ls[i])):

if ls[i][j].isnumeric():

if j == 1:

base = 100

else:

base = float(ls[i][j-1])

ls[i][j]= "{:.0f}".format(base * float(ls[i][j])/100)

for row in ls:

fo.write(",".join(row) + "\n")

fi.close()

fo.close()

《论语》是儒家学派的经典著作之一,主要记录了孔子及其弟子的言行。网络上有很多《论语》文本版本。

这里给出了一个版本,文件名称为“论语-网络版.txt”,其内容采用如下格式组织:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

【原文】

1.11子曰:“父在,观其(1)志;父没,观其行(2);三年(3)无改于父之道(4),可谓孝矣。”

【注释】

(略)

【译文】

(略)

【评析】

(略)

《论语》下载

该版本通过【原文】标记《论语》原文内容,采用【注释】、【译文】和【评析】标记对原文的注释、译文和评析。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

问题1:请编写程序,提取《论语》文档中所有原文内容,输出保存到“论语-提取版.txt”文件。输出文件格式要求:

去掉文章中原文部分每行行首空格及如“1.11”等的数字标志,行尾无空格、无空行。参考格式如下(原文中括号及内部数字是对应源文件中注释项的标记):‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

子曰(1):“学(2)而时习(3)之,不亦说(4)乎?有朋(5)自远方来,不亦乐(6)乎?人不知(7),而不愠(8),不亦君子(9)乎?”

有子(1)曰:“其为人也孝弟(2),而好犯上者(3),鲜(4)矣;不好犯上,而好作乱者,未之有也(5)。君子务本(6),本立而道生(7)。孝弟也者,其为人之本与(8)?”

子曰:“巧言令色(1),鲜(2)仁矣。”

(略)

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

问题2:请编写程序,在“论语-提取版.txt”基础上,进一步去掉每行文字中所有括号及其内部数字,保存为“论文-原文.txt”文件。参考格式如下: ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

子曰:“学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知,而不愠,不亦君子乎?”

有子曰:“其为人也孝弟,而好犯上者,鲜矣;不好犯上,而好作乱者,未之有也。君子务本,本立而道生。孝弟也者,其为人之本与?”

子曰:巧言令色,鲜仁矣。”

(略)

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬问题1参考代码

fi = open("论语-网络版.txt", "r", encoding="utf-8")

fo = open("论语-提取版.txt", "w")

wflag = False #写标记

for line in fi:

if "【" in line: #遇到【时,说明已经到了新的区域,写标记置否

wflag = False

if "【原文】" in line: #遇到【原文】时,设置写标记为True

wflag = True

continue

if wflag == True: #根据写标记将当前行内容写入新的文件

for i in range(0,25):

for j in range(0,25):

line = line.replace("{}·{}".format(i,j),"**")

for i in range(0,10):

line = line.replace("*{}".format(i),"")

for i in range(0,10):

line = line.replace("{}*".format(i),"")

line = line.replace("*","")

fo.write(line)

fi.close()

fo.close()

问题2参考代码

fi = open("论语-提取版.txt", "r")

fo = open("论语-原文.txt", "w")

for line in fi: #逐行遍历

for i in range(1,23): #对产生1到22数字

line=line.replace("({})".format(i), "") #构造(i)并替换

fo.write(line)

fi.close()

fo.close()

《天龙八部》是著名作家金庸的代表作之一,历时4年创作完成。该作品气势磅礴,人物众多,非常经典。

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

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

问题1:请编写程序,对这个《天龙八部》文本中出现的汉字和标点符号进行统计,字符与出现次数之间用冒号:分隔,

输出保存到“天龙八部-汉字统计.txt”文件中,该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计空格和回车字符):‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

天:100, 龙:110, 八:109, 部:10

(略)

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

问题2:请编写程序,对《天龙八部》文本中出现的中文词语进行统计,采用 jieba 库分词,

词语与出现次数之间用冒号:分隔,输出保存到“天龙八部-词语统计.txt”文件中。参考格式如下(注意,不统计任何标点符号):‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

天龙:100, 八部:10

(略)

问题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参考代码

import jieba

fi = open("天龙八部-网络版.txt", "r", encoding='utf-8')

fo = open("天龙八部-词语统计.txt", "w", encoding='utf-8')

txt = fi.read()

words = jieba.lcut(txt)

d = {}

for w in words:

d[w] = d.get(w, 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()

请编写程序,生成随机密码。具体要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(1)使用 random 库,采用 0x1010 作为随机数种子。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(2)密码 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&* 中的字符组成。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(3)每个密码长度固定为 10 个字符。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(4)程序运行每次产生 10 个密码,每个密码一行。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(5)每次产生的 10 个密码首字符不能一样。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(6)程序运行后产生的密码保存在“随机密码.txt”文件中。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

参考代码

import random

random.seed(0x1010)

s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*"

ls = []

excludes = ""

while len(ls) < 10:

pwd = ""

for i in range(10):

pwd += s[random.randint(0, len(s)-1)]

if pwd[0] in excludes:

continue

else:

ls.append(pwd)

excludes += pwd[0]

# 直接打印

print("\n".join(ls))

# 或写入文件

fo = open("随机密码.txt", "w")

fo.write("\n".join(ls))

fo.close()

《命运》和《寻梦》都是著名科幻作家倪匡的科幻作品。这里给出一个《命运》和《寻梦》的网络版本,

文件名为“命运-网络版.txt”和“寻梦-网络版.txt”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

问题1:请编写程序,对这两个文本中出现的字符进行统计,字符与出现次数之间用冒号:分隔,

将两个文件前 100 个最常用字符分别输出保存到“命运-字符统计.txt”和“寻梦-字符统计.txt”文件中,

该文件要求采用 CSV 格式存储,参考格式如下(注意,不统计回车字符):‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

命:90, 运:80, 寻:70, 梦:60‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

(略)‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

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

问题2:请编写程序,对“命运-字符统计.txt”和“寻梦-字符统计.txt”中出现的相同字符打印输出。“相同字符.txt”文件中,字符间使用逗号分隔。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

问题1参考代码

names = ["命运", "寻梦"]

for name in names:

fi = open(name+"-网络版.txt", "r", encoding="utf-8")

fo = open(name+"-字符统计.txt", "w", encoding="utf-8")

txt = fi.read()

d = {}

for c in txt:

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

del d['\n']

ls = list(d.items())

ls.sort(key=lambda x:x[1], reverse=True)

for i in range(100):

ls[i] = "{}:{}".format(ls[i][0], ls[i][1])

fo.write(",".join(ls[:100]))

fi.close()

fo.close()

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬问题2参考代码

def getList(name):

f = open(name+"-字符统计.txt", "r", encoding="utf-8")

words = f.read().split(',')

for i in range(len(words)):

words[i] = words[i].split(':')[0]

f.close()

return words

def main():

fo = open("相同字符.txt", "w")

ls1 = getList("命运")

ls2 = getList("寻梦")

ls3 = []

for c in ls1:

if c in ls2:

ls3.append(c)

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

fo.close()

main()

古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,

有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,

依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、魔蝎座、水瓶座和双鱼座。

给出二维数据存储CSV文件(SunSign.csv),内容如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

星座,开始月日,结束月日,Unicode

水瓶座,120,218,9810

双鱼座,219,320,9811

白羊座,321,419,9800

金牛座,420,520,9801

双子座,521,621,9802

巨蟹座,622,722,9803

狮子座,723,822,9804

处女座,823,922,9805

天秤座,923,1023,9806

天蝎座,1024,1122,9807

射手座,1123,1221,9808

魔蝎座,1222,119,9809

SunSign.csv下载

请编写程序,读入CSV文件中数据,循环获得用户输入,直至用户输入 "exit" 退出。

根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。

如果输入的星座名称有误,请输出“输入星座名称有误!”。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬

fo = open("SunSign.csv","r", encoding='utf-8')

ls = []

for line in fo:

line = line.replace("\n","")

ls.append(line.split(","))

fo.close()

while True:

InputStr = input() # 请输入星座名称,例如双子座

InputStr.strip()

flag = False

if InputStr == 'exit':

break

for line in ls:

if InputStr == line[0]:

print("{}座的生日位于{}-{}之间。".format(chr(eval(line[3])),line[1],line[2]))

flag = True

if flag == False:

print("输入星座名称有误!")

Python基础数据类型题

Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

Python基础语法题库

引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...

Python基础【day01】:python介绍发展史(一)

本节内容 Python介绍 发展史 Python 2 or 3? 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

工程脚本插件方案 - c集成Python基础篇(VC&plus;&plus;嵌入Python)

序: 为什么要集成脚本,怎么在工程中集成Python脚本. 在做比较大型的工程时,一般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用接口供业务层调用的一种标准的框架划分.在实际中 ...

python基础知识第一篇&lpar;认识Python&rpar;

开发语言: 高级语言:python java php c++ 生成的字节码 字节码转换为机器码 计算机识别运行 低级语言:C 汇编 生成的机器码 PHP语言:适用于网页,局限性 Python,Java ...

『Python基础』第2节&colon; Python简介及入门

一. Python介绍 Python是一门高级计算机程序设计语言,1989年,荷兰的Guido von Rossum创造了它.Guido是是一个牛人,1982年,他从阿姆斯特丹大学获得了数学和计算机硕 ...

(Python基础教程之十三)Python中使用httplib2 – HTTP GET和POST示例

Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

python基础(2):python的变量和常量

今天看看python的变量和常量:python3 C:\test.py 首先先说一下解释器执行Python的过程: 1. 启动python解释器(内存中) 2. 将C:\test.py内容从硬盘读入内 ...

Python 基础系列一:初识python

为什么是Python而不是其他语言? C 和 Python.Java.C#等 C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作. 其他语言: 代码编译得到 字节码 ...

随机推荐

SQL Server 2012实施与管理实战指南&lpar;笔记&rpar;——Ch5启动SQL Server服务和数据库

5.启动SQL Server服务和数据库 在数据库和服务启动过程中,经常会出现的问题: 1.SQL Server实例无法正常启动 2.系统数据库无法正常启动 3.网络配置失败 4.用户数据库无法启动 ...

HTML &&num;183&semi; 图片热点,网页划区,拼接,表单

图片热点: 规划出图片上的一个区域,可以做出超链接,直接点击图片区域就可以完成跳转的效果. 网页划区: 在一个网页里,规划出一个区域用来展示另一个网页的内容. 网页的拼接: 在一个网络页面内,规划出多 ...

复合sql

update select update bucp..Core_Flow_Opinion set useruid =(select user_uid from bua..bua_user b wher ...

结缘PDO

起因 一直没有注意看数据库相关知识 几个月之前,无意打开如下一段代码: 被人吐槽是N年前的写法.后来也是学习需要,单一mysql已经不合适了.于是上网搜了一下好方法,PDO迎面而来. 诱惑 上网浏览时 ...

Duff in Love - 588B(素数的判断)

题目大意:如果一个数的所有因子都不是别的数的平方,那么这个数就是lovely数,现在给定一个数,求出这个数所有因子里面最大的lovely数 分析:很有意思的一道题,如果把这个数因子分解成最基本的苏因子 ...

linux mysql添加、删除用户、用户权限及mysql最大字段数量

1.  登录: mysql -u username -p 显示全部的数据库: show databases; 使用某一个数据库: use databasename; 显示一个数据库的全部表: show ...

await这个关键词以及asyncio&period;wait asyncio&period;gather

1.asyncio.wait asyncio.gather这两个都是接受多个future或coro组成的列表,但是不同的是,asyncio.gather会将列表中不是task的coro预先封装为fut ...

Interesting &lpar;manacher &plus; 前缀和处理&rpar;

题意:相邻的两端回文串的价值为两个回文串总的区间左端点 × 区间右端点.然后计算目标串中所有该情况的总和. 思路:首先用manacher求出所有中心点的最大半径,然后我们知道对于左区间我们把贡献记录在 ...

K-Means算法的10个有趣用例

https://www.jianshu.com/p/162c9ec713cf 摘要: 让我们走进K-Means算法的“前世今生”以及和它有关的十个有趣的应用案例. K-means算法具有悠久的历史,并 ...

【题解】Luogu SP3267 DQUERY - D-query

原题传送门 这题和Luogu P1972 [SDOI2009]HH的项链很像,只是数据大小有些差别,题解 我博客里对莫队的介绍 我们在排序询问时,普通是这样qaq inline bool cmp(re ...

python综合题_python基础综合题----选自python二级考试相关推荐

  1. python考勤管理系统_python基础教程:face++与python实现人脸识别签到(考勤)功能...

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要为大家详细介绍了face++与python实现人脸识别签到(考勤)功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一 ...

  2. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  3. 88是python语言的整数类型_Python基础数据类型题

    Python基础数据类型 题 考试时间:三个小时 满分100分(80分以上包含80分及格) 1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pyt ...

  4. python大一基础题_python基础练习题

    # 利用pip, 安装第三方模块requests, 描述你用什么方法来确认安装是成功的. print('进入python环境,导入requests模块,导入成功.') # 把2.918 转化为整形 a ...

  5. 华为机试题python版节选(基础编程题)

    前言 自学python之后,可以借助这些企业招聘时的机考题目来锤炼一下实践能力.. 每道题含要点解析,是按照自己理解梳理的,多个答案的是结合自己的答案+网上的答案,不一定很严谨,请读者自行在编译器中调 ...

  6. 存款利息python题_python入门教程NO.8 用python写个存款利息计算器 已

    本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段 组织好的 可重复使用的 用来实现特定功能的 代码块. 函数能提高代码的模块性,和代码的重复 ...

  7. cpython python 区别面试_python基础教程之千万不要错过这几道Python面试题

    第1题: python下多线程的限制以及多进程中传递参数的方式? python多线程有个全局解释器锁(global interpreter lock),简称GIL,这个GIL并不是python的特性, ...

  8. 计算机基础1模拟题,计算机基础模拟题1(有答案)

    <计算机基础模拟题1(有答案)>由会员分享,可在线阅读,更多相关<计算机基础模拟题1(有答案)(8页珍藏版)>请在人人文库网上搜索. 1.计算机应用基础模拟试题1 一.选择题( ...

  9. spyderpython使用教程_Python基础教程—Spyder简介和Python版本

    选择Spyder作为Python开发的集成开发环境(安装教程参加文末链接).它综合了开发工具的高级编辑,性能分析,调试和分析功能与数据探索等功能. 1.Spyder工作页面介绍 Spyder的界面设计 ...

最新文章

  1. 大佬原创 | 深度学习60讲453页pdf下载
  2. hdu1589(枚举+并查集)
  3. 【最新合集】编译原理习题(含答案)_8-10语法制导翻译_MOOC慕课 哈工大陈鄞
  4. mvc试图 下拉框不重复_面试前不巩固一下基础知识、刷刷题吗?
  5. Spring之数据源整理
  6. (四)怎么优化 where 子句
  7. 网站apm测试软件,apm测试(手速apm在线测试)
  8. 在VUE中实现城市及对应的地区的联动渲染
  9. sis防屏蔽程序_程序员经常看的开源月刊《HelloGitHub》第 56 期
  10. mysql的identity_Mysql中Identity 详细介绍
  11. APP用户界面设计六基本原则
  12. 富贵不压重发_俗语“贵人不顶重发”,重发是啥意思?为什么这样说?
  13. html+css学习第六天(背景图片、精灵图片、元素内容溢出、长度单位)
  14. elk7.7.1【系列十六】java 封装 kql 查询条件
  15. 实现人脸磨皮算法---OpenCV-Python开发指南(58)
  16. 计算机管理处理卡,图文详解电脑卡怎么处理
  17. 用sort函数对vector排序
  18. java完成九宫格数独_数独(简易九宫格) - 小黑202的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. matlab分形曼德勃罗,曼德勃罗与他的分形几何学
  20. 安徽省计算机水平考试试卷,第一次安徽省计算机水平考试试卷.doc

热门文章

  1. 论文写作英文翻译软件
  2. SitePoint Podcast#51:真正的Web设计师获得它
  3. 解决 strict-origin-when-cross-origin 问题
  4. Place:30-574 vhdl
  5. 好消息!2021数据中台TOP50出炉!智领云榜上有名!
  6. 独立型性格分析,独立型人格的职业分析
  7. actix_web官方文档翻译
  8. dhs手术是什么意思_什么是DHS内固定手术
  9. matlab的conj函数
  10. 采用rrt进行机械臂轨迹规划得到轨迹的算法步骤