赞
踩
目录
获取以逗号分隔的多个数据输入(输入为一行),计算基本统计值(平均值、标准差、中位数)
除中位数外,其他输出保留小数点后两位。
- def getNum():
- nums=list(eval(input()))
- return nums
-
- def mean(numbers):
- s=0.0
- for num in numbers:
- s=s+num
- return s/len(numbers)
-
- def dev(numbers,mean):
- sdev=0.0
- for num in numbers:
- sdev=sdev+(num-mean)**2
- return pow(sdev/(len(numbers)-1),0.5)
-
- def median(numbers):
- numbers.sort()
- size=len(numbers)
- if size%2==0:
- med=(numbers[size//2-1]+numbers[size//2])/2
- else:
- med=numbers[size//2]
- return med
-
- n=getNum()
- m=mean(n)
- print("平均值:{:.2f},标准差:{:.2f},中位数:{}".format(m,dev(n,m),median(n)))

请统计hamlet.txt文件中出现的英文单词情况,统计并输出出现最多的10个单词,注意:
(1) 单词不区分大小写,即单词的大小写或组合形式一样;
(2) 请在文本中剔除如下特殊符号:!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~
(3) 输出10个单词,每个单词一行;
(4) 输出单词为小写形式。
- def getText():
- txt=open("hamlet.txt","r").read()
- txt=txt.lower()
- for ch in '!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~':
- txt=txt.replace(ch," ")
- return txt
-
- hamletText=getText()
- words=hamletText.split()
- counts={}
- for word in words:
- counts[word]=counts.get(word,0)+1
- items=list(counts.items())
- items.sort(key=lambda x:x[1],reverse=True)
- for i in range(10):
- word=items[i][0]
- print(word)

编程模板中给出了一个字符串,其中包含了含有重复的人名,请去重后给出独特性人名的统计。
输出模板中字符串共有多少个独特人名。
- s = '''双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖
- 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙
- 金轮法王 小龙女 杨过 慕容复 梅超风 李莫愁 洪七公 张无忌 梅超风 杨逍
- 鳌拜 岳不群 黄药师 黄蓉 段誉 金轮法王 忽必烈 忽必烈 张三丰 乔峰 乔峰
- 阿紫 乔峰 金轮法王 袁冠南 张无忌 郭襄 黄蓉 李莫愁 赵敏 赵敏 郭芙 张三丰
- 乔峰 赵敏 梅超风 双儿 鳌拜 陈家洛 袁冠南 郭芙 郭芙 杨逍 赵敏 金轮法王
- 忽必烈 慕容复 张三丰 杨逍 令狐冲 黄药师 袁冠南 杨逍 完颜洪烈 殷天正
- 李莫愁 阿紫 逍遥子 乔峰 逍遥子 完颜洪烈 郭芙 杨逍 张无忌 杨过 慕容复
- 逍遥子 虚竹 双儿 乔峰 郭芙 黄蓉 李莫愁 陈家洛 杨过 忽必烈 鳌拜 王语嫣
- 洪七公 韦小宝 阿朱 梅超风 段誉 岳灵珊 完颜洪烈 乔峰 段誉 杨过 杨过 慕容复
- 黄蓉 杨过 阿紫 杨逍 张三丰 张三丰 赵敏 张三丰 杨逍 黄蓉 金轮法王 郭襄
- 张三丰 令狐冲 郭芙 韦小宝 黄药师 阿紫 韦小宝 金轮法王 杨逍 令狐冲 阿紫
- 洪七公 袁冠南 双儿 郭靖 鳌拜 谢逊 阿紫 郭襄 梅超风 张无忌 段誉 忽必烈
- 完颜洪烈 双儿 逍遥子 谢逊 完颜洪烈 殷天正 金轮法王 张三丰 双儿 郭襄 阿朱
- 郭襄 双儿 李莫愁 郭襄 忽必烈 金轮法王 张无忌 鳌拜 忽必烈 郭襄 令狐冲
- 谢逊 梅超风 殷天正 段誉 袁冠南 张三丰 王语嫣 阿紫 谢逊 杨过 郭靖 黄蓉
- 双儿 灭绝师太 段誉 张无忌 陈家洛 黄蓉 鳌拜 黄药师 逍遥子 忽必烈 赵敏
- 逍遥子 完颜洪烈 金轮法王 双儿 鳌拜 洪七公 郭芙 郭襄'''
- names=s.split()
- counts=set(names)
- print(len(counts))
'运行
读入一个字典类型的字符串,反转其中键值对输出。
即,读入字典key:value模式,输出value:key模式。
输出格式
用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。
输出格式
给定字典d,按照print(d)方式输出
- try:
- d=dict(eval(input()))
- rd={}
- for key,value in d.items():
- rd[value]=key
- print(rd)
- except:
- print("输入错误")
'运行
附件是《沉默的羔羊》中文版内容,请读入内容,分词后输出长度大于等于2且出现频率最多的单词。如果存在多个单词出现频率一致,请输出按照Unicode排序后最大的单词。
- import jieba
- text=open("沉默的羔羊.txt","r",encoding="utf-8").read()
- words=jieba.lcut(text)
- counts={}
- for word in words:
- if len(word)==1:
- continue
- counts[word]=counts.get(word,0)+1
- items=list(counts.items())
- items.sort(key=lambda x:x[1],reverse=True)
- print(items[0][0])
获得用户输入的一个整数N,输出N中所出现不同数字的和。
例如:用户输入 123123123,其中所出现的不同数字为:1、2、3,这几个数字和为6。
- n=input()
- lst=set(n)
- s=0
- for i in lst:
- s+=eval(i)
- print(s)
'运行
编程模板中给出了一个字符串,其中包含了含有重复的人名,请直接输出出现最多的人名。
- s = '''双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖
- 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙
- 金轮法王 小龙女 杨过 慕容复 梅超风 李莫愁 洪七公 张无忌 梅超风 杨逍
- 鳌拜 岳不群 黄药师 黄蓉 段誉 金轮法王 忽必烈 忽必烈 张三丰 乔峰 乔峰
- 阿紫 乔峰 金轮法王 袁冠南 张无忌 郭襄 黄蓉 李莫愁 赵敏 赵敏 郭芙 张三丰
- 乔峰 赵敏 梅超风 双儿 鳌拜 陈家洛 袁冠南 郭芙 郭芙 杨逍 赵敏 金轮法王
- 忽必烈 慕容复 张三丰 赵敏 杨逍 令狐冲 黄药师 袁冠南 杨逍 完颜洪烈 殷天正
- 李莫愁 阿紫 逍遥子 乔峰 逍遥子 完颜洪烈 郭芙 杨逍 张无忌 杨过 慕容复
- 逍遥子 虚竹 双儿 乔峰 郭芙 黄蓉 李莫愁 陈家洛 杨过 忽必烈 鳌拜 王语嫣
- 洪七公 韦小宝 阿朱 梅超风 段誉 岳灵珊 完颜洪烈 乔峰 段誉 杨过 杨过 慕容复
- 黄蓉 杨过 阿紫 杨逍 张三丰 张三丰 赵敏 张三丰 杨逍 黄蓉 金轮法王 郭襄
- 张三丰 令狐冲 赵敏 郭芙 韦小宝 黄药师 阿紫 韦小宝 金轮法王 杨逍 令狐冲 阿紫
- 洪七公 袁冠南 双儿 郭靖 鳌拜 谢逊 阿紫 郭襄 梅超风 张无忌 段誉 忽必烈
- 完颜洪烈 双儿 逍遥子 谢逊 完颜洪烈 殷天正 金轮法王 张三丰 双儿 郭襄 阿朱
- 郭襄 双儿 李莫愁 郭襄 忽必烈 金轮法王 张无忌 鳌拜 忽必烈 郭襄 令狐冲
- 谢逊 梅超风 殷天正 段誉 袁冠南 张三丰 王语嫣 阿紫 谢逊 杨过 郭靖 黄蓉
- 双儿 灭绝师太 段誉 张无忌 陈家洛 黄蓉 鳌拜 黄药师 逍遥子 忽必烈 赵敏
- 逍遥子 完颜洪烈 金轮法王 双儿 鳌拜 洪七公 郭芙 郭襄 赵敏'''
- names=s.split()
- counts={}
- for name in names:
- counts[name]=counts.get(name,0)+1
- items=list(counts.items())
- items.sort(key=lambda x:x[1],reverse=True)
- print(items[0][0])
'运行
打印输出附件文件的有效行数,注意:空行不计算为有效行数。
- f=open("latex.log","r").readlines()
- count=0
- for line in f:
- if line!="\n":
- count+=1
- print("共{}行".format(count))
统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果。
同时请输出文件一共包含的字符数量。
注意输出格式,各元素之间用英文逗号(,)分隔。
答案可能包含a-z共26个字符的分布,如果某个字符没有出现,则不显示,输出顺序a-z顺序。
- f = open("latex.log")
- cc = 0
- d = {}
- for i in range(26):
- d[chr(ord('a')+i)] = 0
- for line in f:
- for c in line:
- d[c] = d.get(c, 0) + 1
- cc += 1
- print("共{}字符".format(cc), end="")
- for i in range(26):
- if d[chr(ord('a')+i)] != 0:
- print(",{}:{}".format(chr(ord('a')+i), d[chr(ord('a')+i)]), end="")
统计附件文件中与其他任何其他行都不同的行的数量,即独特行的数量。
- f = open("latex.log")
- ls = f.readlines()
- d={}
- count=0
- for line in ls:
- d[line]=d.get(line,0)+1
- for key in d.keys():
- if d[key]==1:
- count+=1
- print("共{}独特行".format(count))
附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。
输入示例
- (以下是文件内容)
- 1,2,3,4
- a,b,c,d
输出示例
- 4,3,2,1
- d,c,b,a
- f=open("data.csv")
- for line in f:
- line=line.strip("\n")
- ls=line.split(",")
- ls=ls[::-1]
- print(",".join(ls))
- f.close()
附件是一个CSV文件,其中每个数据前后存在空格,请对其进行清洗,要求如下:
(1)去掉每个数据前后空格,即数据之间仅用逗号(,)分割;
(2)清洗后打印输出。
输入输出格式:这是仅给出输出格式样例,不是结果。
输入示例
- (在文件中)
- 1, 2, 3, 4, 5
- 'a', 'b' , 'c' , 'd','e'
输出示例
- 1,2,3,4,5
- 'a','b','c','d','e'
- f = open("data.csv")
- s = f.read()
- s = s.replace(" ","")
- print(s)
- f.close()
打印输出附件文件的平均列数,计算方法如下:
(1)有效行指包含至少一个字符的行,不计算空行;
(2)每行的列数为其有效字符数;
(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。
- f=open("latex.log")
- count=0
- nums=0
- for line in f:
- line = line.strip("\n")
- if line=="":
- continue
- count+=1
- nums+=len(line)
- print(int(round(nums/count,0)))
- f.close()
附件是一个CSV格式文件,提取数据进行如下格式转换:
(1)按行进行倒序排列;
(2)每行数据倒序排列;
(3)使用分号(;)代替逗号(,)分割数据,无空格;
按照上述要求转换后将数据输出。
- f=open("data.csv")
- lines=f.readlines()
- lines.reverse()
- for line in lines:
- line=line.strip("\n")
- line=line.replace(" ","")
- ls=line.split(",")
- ls=ls[::-1]
- print(";".join(ls))
- f.close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。