每天学一点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应用,做个查询同校老乡的网页。

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

原文地址:https://www.cnblogs.com/woostundy/p/3315752.html