1.jmu-Java&Python-统计文字中的单词数量并按出现次数排序
现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。
注1:单词之间以空格(1个或多个空格)为间隔。
注2:忽略空行或者空格行。
基本版:
统计时,区分字母大小写,且不删除指定标点符号。
进阶版:
- 统计前,需要从文字中删除指定标点符号
!.,:*?
。 注意:所谓的删除,就是用1个空格替换掉相应字符。 - 统计单词时需要忽略单词的大小写。
输入说明
若干行英文,最后以!!!!!
为结束。
输出说明
单词数量
出现次数排名前10的单词(次数按照降序排序,如果次数相同,则按照键值的字母升序排序)及出现次数。
代码如下:
words=""
while True:
a=input()
if a=="!!!!!":
break
a=a.lower()
for i in "!.,:*?":
a=a.replace(i,' ')
words=words+" "+a
words=words.split()
s={}
for i in words:
if i in s:
s[i]+=1
else:
s[i]=1
s=list(s.items())
s.sort(key=lambda x:x[0])
s.sort(key=lambda x:x[1],reverse=True)
print(len(s))
for i in range(10):
word,count=s[i]
print("{}={}".format(word,count))
2. 字典合并
输入用字符串表示两个字典,输出合并后的字典。字典的键用一个字母或数字表示。注意:1和‘1’是不同的关键字!
输入格式:
在第一行中输入第一个字典字符串;
在第二行中输入第二个字典字符串。
输出格式:
在一行中输出合并的字典,输出按字典序。
"1" 的 ASCII 码为 49,大于 1,排序时 1 在前,"1" 在后。其它的字符同理。
代码如下:
m=dict(eval(input()))
n=dict(eval(input()))
for i in n.keys():
m[i]=m.get(i,0)+n[i]
h=list(m.items())
h.sort(key=lambda x :ord(x[0]) if type(x[0])==str else x[0])
c=str(dict(h)).replace(' ','').replace("'",'"')
print(c)
3. 输出星期名缩写
输入一个1到7的数字,输出对应的星期名的缩写。
1 Mon
2 Tue
3 Wed
4 Thu
5 Fri
6 Sat
7 Sun
输入格式:
输入1到7之间数字
输出格式:
输出对应的星期名的缩写
代码如下:
m=int(input())
if(m==1):
print("Mon")
elif(m==2):
print("Tue")
elif(m==3):
print("Wed")
elif(m==4):
print("Thu")
elif(m==5):
print("Fri")
elif(m==6):
print("Sat")
elif(m==7):
print("Sun")
4.能被3,5和7整除的数的个数(用集合实现)
求指定区间内能被3,5和7整除的数的个数
输入格式:
在一行中从键盘输入2个正整数a,b(1<=a<b<=10000000),用空格隔开。
输出格式:
在一行输出大于等于a且小于等于b的能被3,5和7整除的数的个数。
代码如下:
a, b=map(int,input().split())
count=0
for i in range (a,b):
if(i%5==0 and i%3==0 and i%7==0):
count=count+1
print("%d"%count)
5. jmu-python-重复元素判定
每一个列表中只要有一个元素出现两次,那么该列表即被判定为包含重复元素。
编写函数判定列表中是否包含重复元素,如果包含返回True
,否则返回False
。
然后使用该函数对n行字符串进行处理。最后统计包含重复元素的行数与不包含重复元素的行数。
输入格式:
输入n,代表接下来要输入n行字符串。
然后输入n行字符串,字符串之间的元素以空格相分隔。
输出格式:
True=包含重复元素的行数, False=不包含重复元素的行数,
后面有空格。
代码如下:
n=eval(input())
a=0
b=0
for i in range (n):
str=input()
m=str.split(" ")
if len(list(set(m)))==len(m):
b=b+1
else:
a=a+1
print("True={}, False={}".format(a,b))
6.集合和列表,按从小到大的顺序组合成一个字典
有二个长度一样的集合和列表,按从小到大的顺序组合成一个字典。
输入格式:
输入二个长度一样的集合和列表,集合元素全部为整型,列表元素全部为字符串型。
输出格式:
组合后的字典。
代码如下:
m=eval(input())
n=eval(input())
m=list(m)
m.sort()
n.sort()
x={}
for i in range (len(m)):
x[m[i]]=n[i]
print(x)