• PY学习记录#5


    while else循环真是个好东西

    某些时候就不用加特判强制结束了

    .pyc文件代表C语言解释器

    print函数后面加end=' '就能输出空格了

    还有一个元素竟然能乘以N次输出

    素数表的暴力写法把第二层循环只用判断到根号N即可

    直接优化到O(nsqrt(n))

    T1

    水仙花数

    经典老题了属于是

    这个题实际是想让你写一个分解三位数的程序

    对三位数除以10取余数,然后把余数保存下来

    我个人比较喜欢用列表来干活

    a=[]
    for i in range(100,1000):
        x=i
        for j in range(3):
            a.append(int(x%10))
            x/=10
       # print(a[0:3])
        if a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i:
            print(i)
        a.clear()

    T2

    统计1、2、3、4的数字能组成互不相同且没有重复数字的三位数的数量

    这个题我只想说

    我是sb

    之前刚学搜索的时候写过一个排列组合

    我就把枚举的方法给忘了

    把每一位从1-4都枚举一个遍就行了

    这样也是不会有重复的

    ans=0
    for i in range(1,5):
        for j in range(1,5):
            for k in range(1,5):
                if i!=j and i!=k and j!=k:
                    ans+=1
    print(ans)

    T3

    计算自然对数

    这个题上课的时候讲过类似的

    如果你把这个问题分开考虑

    这个题可以看作是两个题合并的产物

    在一个能够计算累加和的循环里面套一个阶乘就行了

    import math
    e=1
    a=1
    while "YYF is handsome":
        con=1
        for i in range(1,a+1):
            con*=i
        e+=1/(con)
        if math.fabs(1/(con)<0.00001):
            break
        a+=1
    print(e)

    T4

    分解质因数

    我这个做法是用递归写的

    效率比较低还难理解

    不好

    ans=[]
    def find (x):
        #print(x)
        for i in range (2,x):
            if x%i==0:
                break
        else:
            ans.append(x)
            return
        for i in range (x-1,2,-1):
            if x%i==0:
                find(i)
                ans.append(int(x/i))
                break
    a=int(input())
    find(a)
    ans.append(1)
    for i in range(0,len(ans)):
        print(ans[i])

     T5

    输出金字塔

    这个没啥好说的

    T1的乘法表的写法就够这一道题了

    我这里提供一个简洁的做法

    开一个变量表示这一行的一半有多少个空格

    每一次外层循环结束就减一

    co=3
    for i in range(1,5):
        for j in range(1,8):
            if j<=co or j>=8-co:
                print(" ",end=" ")
            else:
                print(i,end=" ")
        print("
    ")
        co-=1
  • 相关阅读:
    Storm笔记——技术点汇总
    Spark笔记——技术点汇总
    Hive笔记——技术点汇总
    Spark SQL笔记——技术点汇总
    Tomcat剖析(三):连接器(2)
    Tomcat剖析(三):连接器(1)
    Tomcat剖析(二):一个简单的Servlet服务器
    Tomcat剖析(一):一个简单的Web服务器
    HTTP协议
    Java实现顺序表
  • 原文地址:https://www.cnblogs.com/SpeedZone/p/15409927.html
Copyright © 2020-2023  润新知