• 每天学一点Python


    9月11日

    1.用List实现Python里的?:条件表达式

       ["false","true"][判断条件]

       其实就是一个List[0]还是List[1]的问题。条件成立就是List[1],不成立就是List[0];非常简单。

    2.用Python写一个冒泡排序

    def mySort(List):
        for j in range(len(List)):
            flag=1
            for i in range(len(List)-j-1):
                if(List[i+1]>List[i]):
                    List[i],List[i+1]=List[i+1],List[i]
                    flag=0
            if(flag):
                break
        return List

     今天比较有兴致,再学一点。

    3.倒序输出一个字符串

    word1="hello world"
    word2=""
    for i in range(len(word1)):
        word2+=word[-1-i]
    print(word2)

    更简单的方法

    print(word[::-1])

    本质:第一个参数是开始位置,第二个参数是长度,第三个参数是步场,第三个参数设置成负数就倒着开始分,就是从后往前啦。List也可以用这种片分来倒序。

    9月12日

     1.输出一个字典里所有的Key,用“,”分割。

    result=""
    for k,v in worker.items():
        result+=k+","
    print(result[:len(result)-1])

    没想到比较好的方法去掉最后一个",",只好这样啦。

    2.读取一个txt文件

    file1=open("D:/8m.txt")
    lines1=file1.readlines(100)
    for line in lines1:
        print(line)

     3.输出100以内的素数和合数

        开始的想法是判断是否能整除2到n**1/2的数字,代码就不写了,跟c语言差不多。

        想用Python比较独特的List分片来做。代码如下

    def SuShu(num):
        list1=[i for i in range(0,num)]
        list2=[]
        list3=[1]
        for j in range(2,num):
            if j not in list2:
                list2+=list1[j::j][1:]
                list3.append(j)
        return [list2,list3]

        List1里面是所有0-100的数字,把素数放到List3里面,把他的倍数放到List2里,最后就都分开了。但应该效率不高。

        仔细找了找,找到了List相减的办法,吃饭回来写新方法。

    9月13日

       1.输出100以内的素数和合数(续)

        接上文,昨天吃过饭下大雨没来。囧,最后发现所谓List相减的方法是把List转为set相减再转回List。

        所以,干脆直接用set吧。利用set的union(联合), difference(差)来实现。代码如下

    def SuShu(num):
        set1={i for i in range(2,num)}/*这里存素数*/
        set2=set()/*这里存合数*/
        for j in set1:
                set2= set2 | {i for i in range(j**2,num,j)}
                /*从j的平方开始,以J为步长,取出所有的
                   J的倍数然后和已有的合数集相并,自己就剔除了
                   重复的那一部分数字*/
                set1= set1-set2
               /*然后在素数集里面把合数都取掉,下次循环就直接
                  从下一个素数开始了*/  
        return [set1,set2]

           中间发现一个问题,set2={}产生的是一个dict,只能用set2=set()来创建空集合,利用了range(起始值,最终值,步长)生成一个集合,然后并集去重复。应该还有更好的办法,暂时没想到。

          

    9月16日

           中间差了两天没更新,这两天学了些Python面向对象的基础,但是项目太忙,没想好用什么例子来展示我学的。。囧。想写一个简单工场模式,没成功。完了回头再补这部分知识吧。

           昨晚逛学校网站,发现体测网站有注入漏洞,摸索好久,然后注入进去导出了一大堆同学的数据。。。打算用python和这些数据做点什么。

           目前的规划是,先学python处理分析文件,把那些html里的数据提取出来,按地区分出来,再学python的web应用,做个查询同校老乡的网页。

           由于时间原因,可能进度会很慢,但尽量坚持更新进度到博客上来。

  • 相关阅读:
    C知识(#一些笔记)
    我整理的Python规则(2)
    我整理的Python代码规则
    教你如何通俗易懂的了解深度学习知识
    c#中委托和事件(续)(转)
    c#中的委托和事件(转)
    .Net neatupload上传控件实现文件上传的进度条
    C#常用日期格式处理转换[C#日期格式转换大全
    C#string常用函数总结
    数据库08版本如何移动到05的数据中
  • 原文地址:https://www.cnblogs.com/woostundy/p/3315752.html
Copyright © 2020-2023  润新知