黃哥Python,2017-9-22出題了。
經常來點乾貨,不然,有的人會說,每天發.....
第一題,來源於我在知乎上回答提問者的提問。
寫一個函數,輸入 lst = [1, 1, 3, 4, 4, 1],返回值為[1,3,4,1]。
需求是:如果後一個數字與前一個數字相同,則只保留一個數。
第二題,來源於我在知乎上回答提問者的提問。
有一個json文件:
{"奴隸社會": {"亞洲": {"古印度": ["種姓制度", "佛教的創立"], "兩河流域文明": ["漢謨拉比法典"]}, "歐洲": {"希臘羅馬古典文化": ["建築藝術", "公曆"], "羅馬": ["城邦", "帝國的征服與擴展"], "希臘": ["希臘城邦", "雅典民主"]}, "非洲": {"古埃及文明": ["金字塔"]}}}
現在要寫一個函數search,當給search函數傳入『金字塔』的 時候,函數列印出奴隸社會.非洲.古埃及文明.金字塔,當給search函數傳入美洲的時候,列印出「不存在的關鍵字:美洲「
第三題:返回乒乓序列的第n個元素
乒乓序列從1開始計數,始終向上計數或倒數。在元素k處,如果k是7的倍數或包含數字7,方向將切換。乒乓序列的前30個元素如下所示,方向交換在第7,14和17,21,第27和第28個要素。
1 2 3 4 5 6 [7] 6 5 4 3 2 1 [0] 1 2 [3] 2 1 0 [-1] 0 1 2 3 4 [5] [4] 5 6
實現一個返回乒乓序列第n個元素的函數乒乓。
def pingpong(n):n """返回乒乓序列的第n個元素nn >>> pingpong(7)n 7n >>> pingpong(8)n 6n >>> pingpong(15)n 1n >>> pingpong(21)n -1n >>> pingpong(22)n 0n >>> pingpong(30)n 6n >>> pingpong(68)n 2n >>> pingpong(69)n 1n >>> pingpong(70)n 0n >>> pingpong(71)n 1n >>> pingpong(72)n 0n >>> pingpong(100)n 2n """n "*** 下面寫你的代碼 ***"n
黃哥談學習Python編程的學習方法:
- 如何訓練自己的編程思路
- 黃哥Python提醒:學習編程有三種壞習慣
- 為何很多人認為Python 很簡單,而你不能入門?
- 飽漢不知餓漢飢、會編程的不懂初學者的苦。
- 開發項目「狗咬刺蝟」無從下手,問題出在哪兒?
- Python程序員學習路線圖
推薦閱讀:
※SQLAlchemy 的初步使用
※如何在同一程序中調用分別用python 2和python 3寫的多個第三方模塊?
※如何學習 Python,面對那麼多的標準庫,應該如何?
TAG:Python |