標籤:

黃哥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 |