Question 22
写一个程序来计算输入单词的频率。按字母数字对键进行排序后,应输出输出。
假设向程序提供以下输入:
New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.
然后,输出应为:
2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1
方法1:
ss = input().split()
word = sorted(set(ss)) # split words are stored and sorted as a set
for i in word:
print("{0}:{1}".format(i,ss.count(i)))
方法2:
ss = input().split()
dict = {}
for i in ss:
i = dict.setdefault(i,ss.count(i)) # setdefault() function takes key & value to set it as dictionary.
dict = sorted(dict.items()) # items() function returns both key & value of dictionary as a list
# and then sorted. The sort by default occurs in order of 1st -> 2nd key
for i in dict:
print("%s:%d"%(i[0],i[1]))
方法3:
ss = input().split()
dict = {i:ss.count(i) for i in ss} # sets dictionary as i-> split word & ss.count(i) -> total occurrence of i in ss
dict = sorted(dict.items()) # items() function returns both key & value of dictionary as a list
# and then sorted. The sort by default occurs in order of 1st -> 2nd key
for i in dict:
print("%s:%d"%(i[0],i[1]))
方法4:
from collections import Counter
ss = input().split()
ss = Counter(ss) # returns key & frequency as a dictionary
ss = sorted(ss.items()) # returns as a tuple list
for i in ss:
print("%s:%d"%(i[0],i[1]))
方法5:
from pprint import pprint
p=input().split()
pprint({i:p.count(i) for i in p})
Question 23
写一个计算数字平方值的方法
n=int(input())
print(n**2)
Question 24
Python有很多内置函数,如果你不知道如何使用它,你可以在线阅读文档或找一些书。但是Python为每个内置函数都提供了一个内置的文档函数。
请编写一个程序来打印一些Python内置函数文档,如abs()、int()、input()
并为自己的功能添加文档
print(str.__doc__)
print(sorted.__doc__)
def pow(n,p):
'''
param n: This is any integer number
param p: This is power over n
return: n to the power p = n^p
'''
return n**p
print(pow(3,4))
print(pow.__doc__)
Question 25
定义一个类,它有一个类参数和一个相同的实例参数。
class Car:
name = "Car"
def __init__(self,name = None):
self.name = name
honda=Car("Honda")
print("%s name is %s"%(Car.name,honda.name))
toyota=Car()
toyota.name="Toyota"
print("%s name is %s"%(Car.name,toyota.name))