python实现实例_经典Python案例实现

一、

二、

三、

四、

五、函数篇

5.1 计算圆的面积

from math import pi as PI

def 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 result

print(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 x

lst = 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

%%time

ans1 = 0

for i in range(1000):

ans1 += p_n(2,[i for i in range(200)])

Wall time: 116 ms

其中 \(a_kx^k\) 需要进行k次乘法,所以很复杂。

使用Python实现秦九韶算法快速计算多项式的值

20200915212046.png

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值