您的位置:首页 > 编程语言 > Python开发

Python将纳入高考?

2017-12-11 13:54 381 查看
最近,“Python将纳入高考”的消息,狠狠地刷了朋友圈。

尽管这则消息目前还未得到官方的确认,但人们对于Python的火热关注度,还是引来众程序员热议。

虽然小编资历尚浅,但还是有话要说。

python是小编用过的最简易实用的一门语言,这就举几个例子。

(1)查找文件
Cer们,你知道,“遍历目录找出文件”,重头实现这个功能都很费劲,对吧?

那python是怎么做到的呢?代码如下:

#!/usr/bin/python
import os
def traverse(dirpath):
files = os.listdir(dirpath)
for file in files:
fullpath = os.path.join(dirpath, file)
if os.path.isdir(fullpath):
traverse(fullpath)
else:
print fullpath

traverse('xxx/targetdir')

是不是很简单?而且,还没有提到glob的使用呢,用这个模块来查找文件,真是简单的很!

(2)读取文件
还记得c语言的getline吗,python有readlines,而且更易用。

比如,删除一个文件中的重复行(产生一个新的文件),可以这样写(性能都不在考虑范围):

import os;
def delduplicate():
fout = open("newone.txt", "a+")
alllines = open("original.txt").readlines()
for i in range(len(alllines)-1):
one=alllines[i][0:21]
two=alllines[i+1][0:21]
if one!=two:
fout.write(alllines[i])
fout.write(alllines[len(alllines)-1])

(3)批量爬取
你还在用c语言的socket来组装吗?

python的urllib已经被广泛使用了。

比如,批量获取某某平台的歌曲,可以这样(注意红框内的调用就好):



(4)游戏
比如,写一个猜数字的游戏:

import random

secret=random.randint(0,100)
temp=input("请说出我想的数字:");
guess=int(temp)
while guess!=secret:
if guess>secret:
print("没有这么大,说个小的!")
else:
if guess<secret:
print("太小了,说个大的!")
else:
break
temp=input("猜错了,再来一次吧:")
guess=int(temp)
print("厉害,猜对了!")

(5)数据结构
python的数据结构很实用。

比如“背包问题”的解决:

def knapsack(w, ws):
"""
w --背包容量
ws --物品重量列表 [1, 3, ..]
"""
ret = []
s = []
i = 0
cnt = len(ws)
rest = w
while s or i < cnt:  # 栈为空或者还有得装
while i < cnt and rest > 0:  # 还有得装且还有容量
if rest >= ws[i]:  # 装得下就装
s.append(i)
rest -= ws[i]
i += 1   # 不管当前的是否装得下,都要尝试下一个
if rest == 0:
ret.append(s[:])  # one solution
i = s.pop()
rest += ws[i]
i += 1
return ret

关于数据结构,陆小凤迟点会发表一系列的文章,感兴趣的同学可以留意。

(6)画图
最后,还是用那个心图来结束举例:



代码是这样的:

from turtle import *
pensize(1)
pencolor('red')
fillcolor('pink')
speed(5)
up()
goto(-30, 100)
down()
begin_fill()
left(90)
circle(120,180)
circle(360,70)
left(38)
circle(360,70)
circle(120,180)
end_fill()
up()
goto(-100,-100)
down()

python是万能了吗?

小编觉得,pyhton是解释执行的语言,对于c/c++这些编译执行的语言,在运行速度上还是赶不上人家的,在某些场景并不适合用python来做开发。

但是,如果是从入门、培养编程兴趣(像c语言之类太多细节要考虑而且还各种效果上的打折扣,是很打击人的!)、培养抽象设计、培养模块设计,这样的角度来考虑,小编是赞成小学生也来学习的!

更重要的是,同学们,你们又有机会打电脑了!

最后,如果对python感兴趣,也可以关注我们,加入我们的技术讨论群哦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 高考