题目二十二
编写一个程序来计算输入单词的频率。输出应在对键进行字母数字排序后输出。
假设向程序提供了以下输入:
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
代码实现
方法一
word = input("请输入需要统计的内容:").split()
"""
这里主要涉及两个知识点:
1.set()函数能够将其他类型转换成集合类型,并去掉重复元素
2.sorted()函数,能够在保留原列表的基础上,新建一个已经排序的列表
"""
lst = sorted(set(word))
for i in lst:
print("{0},{1}".format(i,word.count(i)))
方法二
word = input("请输入需要统计的内容:").split()
dict = {}
"""
这里涉及两个函数的用法:
1.字典操作中的setdefault()函数,函数是对字典中的键值进行查询,如果查询到了就返回相应的值;没有的情况下,则添加键值对
2.items()函数的用法,是将字典中的键值对以列表的形式返回,这样子才能进行sorted()函数的操作
"""
for i in word:
i = dict.setdefault(
i,word.count(i)
)
word1 = sorted(dict.items())
for i in word1:
print("%s,%d"%(i[0],i[1]))
方法三
from pprint import pprint
p = input().split()
pprint({i: p.count(i) for i in p})
运行结果
请输入需要统计的内容: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
另外,在本题中还涉及到print()函数打印时的字符控制,相对应的控制类型如下:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
题目二十三
写一种能计算数字平方值的方法
代码实现
方法一
n = input("请输入需要数字:")
print(int(n) ** 2)
运行结果
请输入需要数字:100
10000
题目二十四
Python有许多内置函数,如果您不知道如何使用它,您可以在线阅读文档或找到一些书籍。
但是Python对于每个内置函数都有一个内置的文档函数。
请编写一个程序来打印一些Python内置函数文档,例如abs()、int()、rawinput(),并为您自己的函数添加文档。
提示:
内置函数doc
代码实现
print(str.__doc__)
print(int.__doc__)
def sqr(n, p):
"""
param n: 任意整数
param p: 任意整数,n开方的次幂
return: n的开p次方
"""
return (n ** (1/p))
print(sqr(2,2))
print(sqr.__doc__)
运行结果
1.4142135623730951
param n: 任意整数
param p: 任意整数,n开方的次幂
return: n的开p次方
题目二十五
定义类,该类具有类参数,并具有相同的实例参数。
提示:
定义实例参数,需要将其添加到init方法中。
代码实现
方法一
class Car:
name = "Car"
def __init__(self,name):
self.name = name
lanbo1 = Car("lanbo")
print(Car.name, "name is", lanbo1.name)
运行结果
Car name is lanbo