zoukankan      html  css  js  c++  java
  • 经典Python案例实现

    入门_30个常用python实现 .pdf

    一、

    二、

    三、

    四、

    五、函数篇

    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实现秦九韶算法快速计算多项式的值

    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)
    

    The desire of his soul is the prophecy of his fate
    你灵魂的欲望,是你命运的先知。

  • 相关阅读:
    laravel中get方式表单提交后, 地址栏数据重复的问题
    laravel中firstOrCreate的使用
    表单使用clone方法后, 原有select无法生效
    浏览器提示内容编码错误, 不支持此压缩格式
    web端访问文件没有权限的问题
    $(this)在ajax里面不生效的探究
    如何在github上提交pr
    IDEA配置文件的配置文件配置
    quartz定时任务时间设置
    通过 EXPLAIN 分析低效 SQL 的执行计划
  • 原文地址:https://www.cnblogs.com/RioTian/p/13668070.html
Copyright © 2011-2022 走看看