
经典Python案例实现
发布日期:2021-05-09 00:11:47
浏览次数:26
分类:博客文章
本文共 1506 字,大约阅读时间需要 5 分钟。
一、
二、
三、
四、
五、函数篇
5.1 计算圆的面积
from math import pi as PIdef CircleArea(r): if isinstance(r,(int,float)) and r > 0: #确保接收的参数为大于0的数字 return PI * r * r else: return("You must give me an interger or float as radius.")print(CircleArea(3))
5.2 返回实数中大于平均值的实数
编写函数,接收任意多个实数,返回一个元组,其中第一个元素为所有参数的平均值,其他元素为大于平均数的实数
def demo(*para): #参数传递的序列解包 avg = sum(para) / len(para) g = [i for i in para if i > avg] return (avg,) + tuple(g)print(demo(1,2,3,4,5))
5.3 求字符串中字母(数字、符号)数目
def demo(s): result = [0,0] for ch in s: if 'a' <= ch <= 'z': result[1]+=1 elif 'A' <= ch <= 'Z': result[0]+=1 return resultprint(demo('aaaaCCCBSFSSaaafdg'))
5.4 接受列表按一定规则排序
编写函数,接收包含20个整数的列表 \(lst\) 和一个整数\(k\) 作为参数,返回新列表。
处理规则为:将列表 \(lst\) 中下标\(k\) 之前的元素逆序,将下标为\(k\) 和 \(k\) 之后的元素逆序,最后将整个列表逆序
def demo(lst,k): x = lst[:] x[:k] = reversed(x[:k]) x[k:] = reversed(x[k:]) x.reverse() return xlst = list(range(1,21))print(demo(lst,5))
5.5 python快速求解多项式的值
- 给定 x, 计算多项式
\[p_n(x) = a_nx^n + a_{n-1}x^{n-1}+···+a_1x + a_0\]
直接表达
def p_n(x,a_n:list): ans = 0 for i in range(len(a_n)): ans += x**i*a_n[i] return ans
%%timeans1 = 0for i in range(1000): ans1 += p_n(2,[i for i in range(200)])
Wall time: 116 ms
- 其中 \(a_kx^k\) 需要进行k次乘法,所以很复杂。
使用Python实现秦九韶算法快速计算多项式的值
def Horner(x,a_n:list): n = len(a_n)-1 def b_n(x,i): if i == n: return a_n[i] # b_n = a_n return a_n[i]+ b_n(x,i+1)*x # b_{n-1} = a_{n-1} + b_n*x return b_n(x,0)
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年05月08日 18时11分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Jquery】获取当前窗口的宽度值/高度值
2019-03-13
Android 架构组件 – 让天下没有难做的 App
2019-03-13
能解决数据可视化大屏需求的3款可视化工具
2019-03-13
【Altium Designer21】工作栏中文解析
2019-03-13
[87]用secureCRT连接虚拟机中的Ubuntu系统,出现“远程主机拒绝连接”错误
2019-03-13
Shell脚本防DNS攻击检测并删除肉机IP
2019-03-13
如何在VSCode中定制JSON的IntelliSense
2019-03-13
椭圆曲线的定义
2019-03-13
多代理区块链框架客户端的操作
2019-03-13
RSA操作中的公钥和私钥的生成
2019-03-13
go语言中类的继承和方法的使用
2019-03-13
caffe训练的时候遇到的text-format 错误解决方案。
2019-03-13
Little Zu Chongzhi's Triangles
2019-03-13
Train Problem II(卡特兰数+大数乘除)
2019-03-13
一些技术博客
2019-03-13
第01问:MySQL 一次 insert 刷几次盘?
2019-03-13
libvirtd:内部错误:Failed to apply firewall rule
2019-03-13
优先级队列2
2019-03-13
TiKV 源码解析系列文章(十三)MVCC 数据读取
2019-03-13
1900分图论 : 1183E1 LCA + Kruskal
2019-03-13