Python基础100题打卡Day8

题目二十二

编写一个程序来计算输入单词的频率。输出应在对键进行字母数字排序后输出。
假设向程序提供了以下输入:
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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值