python排名
Ⅰ python中輸入一個列表,表示若干個學生成績。再輸入某個學生成績,查詢他的排名
a=list(eval(input("input grades:")))
a.sort()
a.reverse()
print("sorted: ")
print(a)
c=list(eval(input("the grade rankto query:")))
print("rank is:")
print(a.index(c)+1)
Ⅱ 6月TIOBE編程語言排行榜:Python熱度持續上升
TIOBE編程語言社區發布了2017年6月排行榜,這次排行和5月相比變動不大,Java、C和C++仍然穩定保持在前三甲,Python 熱度持續上升。
不過值得注意的是 Kotlin 語言突圍進入前50名。谷歌在I/O 2017開發者大區會上宣布了安卓開發全面支持Kotlin編程語言。其實在之前這個語言就已經支持了安卓平台開發,但是直到今天谷歌開發者大會上才宣布對該語言的全面支持和維護。
【說明】
TIOBE 編程語言社區排行榜是編程語言流行趨勢的一個指標,每月更新,這份排行榜排名基於互聯網上有經驗的程序員、課程和第三方廠商的數量。排名使用著名的搜索引擎(諸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Bai 等)進行計算。
請注意這個排行榜只是反映某個編程語言的熱門程度,並不能說明一門編程語言好不好,或者一門語言所編寫的代碼數量多少。這個排行榜可以用來考查你的編程技能是否與時俱進,也可以在開發新系統時作為一個語言選擇依據。
Ⅲ Python抓取豆瓣電影排行榜
1.觀察url
首先觀察一下網址的結構 http://movie.douban.com/top250?start=0&filter=&type= :
可以看到,問號?後有三個參數 start、filter、type,其中start代表頁碼,每頁展示25部電影,0代表第一頁,以此類推25代表第二頁,50代表第三頁...
filter顧名思義,是過濾已經看過的電影,filter和type在這里不重要,可以不管。
2.查看網頁源代碼
打開上面的網址,查看源代碼,可以看到信息的展示結構如下:
1 <ol class="grid_view"> 2 <li> 3 <div class="item"> 4 <div class="pic"> 5 <em class="">1</em> 6 <a href="http://movie.douban.com/subject/1292052/"> 7 <img alt="肖申克的救贖" src="http://img3.douban.com/view/movie_poster_cover/ipst/public/p480747492.jpg" class=""> 8 </a> 9 </div>10 <div class="info">11 <div class="hd">12 <a href="http://movie.douban.com/subject/1292052/" class="">13 <span class="title">肖申克的救贖</span>14 <span class="title"> / The Shawshank Redemption</span>15 <span class="other"> / 月黑高飛(港) / 刺激1995(台)</span>16 </a>17 18 19 <span class="playable">[可播放]</span>20 </div>21 <div class="bd">22 <p class="">23 導演: 弗蘭克·德拉邦特 Frank Darabont 主演: 蒂姆·羅賓斯 Tim Robbins /...<br>24 1994 / 美國 / 犯罪 劇情25 </p>26 27 28 <div class="star">29 <span class="rating5-t"><em>9.6</em></span>30 <span>646374人評價</span>31 </div>32 33 <p class="quote">34 <span class="inq">希望讓人自由。</span>35 </p>36 </div>37 </div>38 </div>39 </li>
其中<em class="">1</em>代表排名,<span class="title">肖申克的救贖</span>代表電影名,其他信息的含義也很容易能看出來。
於是接下來可以寫正則表達式:
1 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?' 2 + u'<em.*?class="">(.*?)</em>.*?' 3 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)' 4 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?' 5 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?' 6 + u'<div.*?class="bd">.*?<p.*?class="">.*?' 7 + u'導演: (.*?) ' 8 + u'主演: (.*?)<br>' 9 + u'(.*?) / (.*?) / '10 + u'(.*?)</p>'11 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'12 + u'.*?<span>(.*?)人評價</span>.*?<p.*?class="quote">.*?'13 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)
在此處flag參數re.S代表多行匹配。
3.使用面向對象的設計模式編碼
代碼如下:
1 # -*- coding:utf-8 -*- 2 __author__ = 'Jz' 3 import urllib2 4 import re 5 import sys 6 7 class MovieTop250: 8 def __init__(self): 9 #設置默認編碼格式為utf-810 reload(sys)11 sys.setdefaultencoding('utf-8')12 self.start = 013 self.param = '&filter=&type='14 self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64)'}15 self.movieList = []16 self.filePath = 'D:/coding_file/python_file/File/DoubanTop250.txt'17 18 def getPage(self):19 try:20 URL = 'http://movie.douban.com/top250?start=' + str(self.start)21 request = urllib2.Request(url = URL, headers = self.headers)22 response = urllib2.urlopen(request)23 page = response.read().decode('utf-8')24 pageNum = (self.start + 25)/2525 print '正在抓取第' + str(pageNum) + '頁數據...' 26 self.start += 2527 return page28 except urllib2.URLError, e:29 if hasattr(e, 'reason'):30 print '抓取失敗,具體原因:', e.reason31 32 def getMovie(self):33 pattern = re.compile(u'<div.*?class="item">.*?<div.*?class="pic">.*?'34 + u'<em.*?class="">(.*?)</em>.*?'35 + u'<div.*?class="info">.*?<span.*?class="title">(.*?)'36 + u'</span>.*?<span.*?class="title">(.*?)</span>.*?'37 + u'<span.*?class="other">(.*?)</span>.*?</a>.*?'38 + u'<div.*?class="bd">.*?<p.*?class="">.*?'39 + u'導演: (.*?) '40 + u'主演: (.*?)<br>'41 + u'(.*?) / (.*?) / '42 + u'(.*?)</p>'43 + u'.*?<div.*?class="star">.*?<em>(.*?)</em>'44 + u'.*?<span>(.*?)人評價</span>.*?<p.*?class="quote">.*?'45 + u'<span.*?class="inq">(.*?)</span>.*?</p>', re.S)46 while self.start <= 225:47 page = self.getPage()48 movies = re.findall(pattern, page)49 for movie in movies:50 self.movieList.append([movie[0], movie[1], movie[2].lstrip(' / '),
51 movie[3].lstrip(' / '), movie[4],
52 movie[5], movie[6].lstrip(), movie[7], movie[8].rstrip(),53 movie[9], movie[10], movie[11]])54 55 def writeTxt(self):56 fileTop250 = open(self.filePath, 'w')57 try:58 for movie in self.movieList:59 fileTop250.write('電影排名:' + movie[0] + '\r\n')60 fileTop250.write('電影名稱:' + movie[1] + '\r\n')61 fileTop250.write('外文名稱:' + movie[2] + '\r\n')62 fileTop250.write('電影別名:' + movie[3] + '\r\n')63 fileTop250.write('導演姓名:' + movie[4] + '\r\n')64 fileTop250.write('參與主演:' + movie[5] + '\r\n')65 fileTop250.write('上映年份:' + movie[6] + '\r\n')66 fileTop250.write('製作國家/地區:' + movie[7] + '\r\n')67 fileTop250.write('電影類別:' + movie[8] + '\r\n')68 fileTop250.write('電影評分:' + movie[9] + '\r\n')69 fileTop250.write('參評人數:' + movie[10] + '\r\n')70 fileTop250.write('簡短影評:' + movie[11] + '\r\n\r\n')71 print '文件寫入成功...'72 finally:73 fileTop250.close()74 75 def main(self):76 print '正在從豆瓣電影Top250抓取數據...'77 self.getMovie()78 self.writeTxt()79 print '抓取完畢...'80 81 DouBanSpider = MovieTop250()82 DouBanSpider.main()
代碼比較簡單,最後將信息寫入一個文件,沒有什麼需要解釋的地方。
Ⅳ 經常看到的python培訓機構排名靠譜嘛應該如何選擇培訓機構
關於選擇培訓機構,這里有一些篩選建議,你可以看一下:
一.實地考察學校,當面了解更靠譜
去機構實地考察一下,最好能試聽一兩天的課程,真正的感受一下學校的管理,授課的內容和方式,這樣才能看出來適不適合自己,
二.對比課程大綱
把各機構的大綱拿出來,一對比就能看出來誰家講的多,自然就能挑出來比較好的機構。再一個就是看機構是否在夯實知識體系的基礎上,及時引進最新技術點教學。結合這兩點去考察機構,才能少走彎路。
三.重視項目實戰,五個要點須對比
1. 整個課程中,項目實戰佔比達到多少?
2. 項目是否有及時迭代更新?
3. 是否是真實企業級項目?
4. 項目是否有前後端合作開發教學?
5. 項目教學是否注重提升解決問題的能力,而非傻瓜式的教學?
五.關注就業質量,就業服務要詢問
大多數人參加培訓是為了就業,因此培訓機構往期學員的薪資和就業率是著重關注的問題。但是大家一定不要盲目相信某些機構掛出來的被包裝渲染,誇大宣傳的就業薪資、就業率。在北京,如果是無工作經驗的非相關專業的專科學歷學生,一般培訓出來的薪資往往也就10K+。
因此,各位選擇的時候一定要冷靜思考,根據自身的具體情況來衡量,不要盲目選擇,一定要了解真實就業數據和匹配相關數據的學員能力。
好了,相信掌握了這五點考察方向,你一定可以選出合適的培訓機構。
Ⅳ 學Python的越來越多是因為在五大語言中排名第一嗎
原因有多種,您說的是其中一種。Python是所有編程語言中最容易入門的語言,並且其應用面非常廣闊,是一個非常有應用前景和研究前景的語言。其應用領域含括了:後台開發、圖像處理、數據挖掘、數據分析、機器學習、網路攻擊、SDN、神經網路、自動化運維、計算機視覺、自然語言處理等。Python作為一種「膠水語言」可謂無所不能,甚至能夠開發安卓應用。既然其應用領域如此廣泛,入門又如此容易,轉行又可以不學習其他語言,為何不選Python呢?
Ⅵ 怎麼看待最近 Python 變成 Web 開發語言排行第二
簡單的看著沒有人認真的回答,大家基本上都是在插隊這個排名。作為一個在python web上開發吃飯的人,我將談幾點:
3、「人和」的最後一個要素是,python的創始人被谷歌帶走了,人們認為谷歌是最喜歡的東西是合理的,而谷歌是一家網路公司。
Ⅶ python最擅長哪個方面
Python的應用領域很廣,可以做自動化測試,自動化運維,也可以做web後端開發(比如大名鼎鼎的Django,Flask等框架),也可以做爬蟲,數據分析,更可以做機器學習,自然語言處理,數據挖掘,有很多領域。
你到底要學什麼,很容易迷失方向,今天聽人說Python的web開發很牛,學了幾天,過兩天網上又說web開發用PHP才是王道,學python應該學數據分析,數據分析怎麼怎麼火,於是又去學數據分析,結果學了一個星期,發現最近Google,Facebook都開源了一些深度學習的框架,人工智慧是未來的前景,立馬又心癢癢開始學機器學習,數據挖掘了。這樣的同學左右搖擺,跟小猴子掰玉米一樣,到最後什麼都沒有學好,而且時間浪費不少,所以一旦選擇一個領域就要堅持下去,千萬不要左右搖擺半途而廢。
Ⅷ python可以實現對中小學期末成績排名,分析嗎
#-*-coding:utf-8-*-
#楊鑫
L=[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]
#按照姓名排序
defby_name(t):
returnt[0].lower()
#按照分數排序
defby_score(t):
return-t[1]
L2=sorted(L,key=by_name)
L3=sorted(L,key=by_score)
print("按照姓名排序後的結果:")
print(L2)
print("按照分數排序後的結果:")
print(L3)
結果:
Ⅸ python爬蟲抓取電影top20排名怎麼寫
初步接觸python爬蟲(其實python也是才起步),發現一段代碼研究了一下,覺得還比較有用處,Mark下。
上代碼:
#!/usr/bin/python#coding=utf-8#Author: Andrew_liu#mender:cy"""
一個簡單的Python爬蟲, 用於抓取豆瓣電影Top前100的電影的名稱
Anthor: Andrew_liu
mender:cy
Version: 0.0.2
Date: 2017-03-02
Language: Python2.7.12
Editor: JetBrains PyCharm 4.5.4
"""import stringimport reimport urllib2import timeclass DouBanSpider(object) :
"""類的簡要說明
主要用於抓取豆瓣Top100的電影名稱
Attributes:
page: 用於表示當前所處的抓取頁面
cur_url: 用於表示當前爭取抓取頁面的url
datas: 存儲處理好的抓取到的電影名稱
_top_num: 用於記錄當前的top號碼
"""
def __init__(self):
self.page = 1
self.cur_url = "h0?start={page}&filter=&type="
self.datas = []
self._top_num = 1
print u"豆瓣電影爬蟲准備就緒, 准備爬取數據..."
def get_page(self, cur_page):
"""
根據當前頁碼爬取網頁HTML
Args:
cur_page: 表示當前所抓取的網站頁碼
Returns:
返回抓取到整個頁面的HTML(unicode編碼)
Raises:
URLError:url引發的異常
"""
url = self.cur_url try:
my_page = urllib2.urlopen(url.format(page=(cur_page - 1) * 25)).read().decode("utf-8") except urllib2.URLError, e: if hasattr(e, "code"): print "The server couldn't fulfill the request."
print "Error code: %s" % e.code elif hasattr(e, "reason"): print "We failed to reach a server. Please check your url and read the Reason"
print "Reason: %s" % e.reason return my_page def find_title(self, my_page):
"""
通過返回的整個網頁HTML, 正則匹配前100的電影名稱
Args:
my_page: 傳入頁面的HTML文本用於正則匹配
"""
temp_data = []
movie_items = re.findall(r'<span.*?class="title">(.*?)</span>', my_page, re.S) for index, item in enumerate(movie_items): if item.find(" ") == -1:
temp_data.append("Top" + str(self._top_num) + " " + item)
self._top_num += 1
self.datas.extend(temp_data) def start_spider(self):
"""
爬蟲入口, 並控制爬蟲抓取頁面的范圍
"""
while self.page <= 4:
my_page = self.get_page(self.page)
self.find_title(my_page)
self.page += 1def main():
print u"""
###############################
一個簡單的豆瓣電影前100爬蟲
Author: Andrew_liu
mender: cy
Version: 0.0.2
Date: 2017-03-02
###############################
"""
my_spider = DouBanSpider()
my_spider.start_spider()
fobj = open('/data/moxiaokai/HelloWorld/cyTest/blogcode/top_move.txt', 'w+') for item in my_spider.datas: print item
fobj.write(item.encode("utf-8")+'
')
time.sleep(0.1) print u"豆瓣爬蟲爬取完成"if __name__ == '__main__':
main()
運行結果: