每日学python_每天学一点Python

9月11日

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

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

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

2.用Python写一个冒泡排序

defmySort(List):for j inrange(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=0if(flag):break

return List

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

3.倒序输出一个字符串

word1="hello world"word2=""

for i inrange(len(word1)):

word2+=word[-1-i]print(word2)

更简单的方法

print(word[::-1])

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

9月12日

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

result=""

for k,v inworker.items():

result+=k+","

print(result[:len(result)-1])

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

2.读取一个txt文件

file1=open("D:/8m.txt")

lines1=file1.readlines(100)for line inlines1:print(line)

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

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

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

defSuShu(num):

list1=[i for i inrange(0,num)]

list2=[]

list3=[1]for j in range(2,num):if j not inlist2:

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(差)来实现。代码如下

defSuShu(num):

set1={i for i in range(2,num)}/*这里存素数*/set2=set()/*这里存合数*/

for j inset1:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值