幫助中心 | 我的帳號 | 關於我們

每個人的Python(數學演算法和遊戲編程訓練營微課版)

  • 作者:編者:張益琿|責編:王金柱
  • 出版社:清華大學
  • ISBN:9787302589761
  • 出版日期:2021/10/01
  • 裝幀:平裝
  • 頁數:324
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書以數學為切入點,以Python編程語言為工具,介紹大量流行的編程題目的解題思路,並且提供了多種解題方案。本書涉及的編程題目領域廣泛,包括數字類題目、圖形類題目、字元串類題目、數據結構類題目以及遊戲類題目等,由淺入深地訓練讀者的編程思維能力。通過本書的學習,讀者可以掌握使用編程工具解決問題的核心思路,並能夠獨立思考和解決各種場景下的編程問題。
    對於從未接觸過編程的人員來說,本書以問題驅動的教學方法,因為有趣且強調動手實踐,非常適合初學者快速入門。對於編程人員來說,本書介紹的解題思路和演算法可以幫助編程人員提高代碼質量。本書也適合編程領域的求職者使用,書中提供的編程題目很多都是面試中常見的演算法問題。

作者介紹
編者:張益琿|責編:王金柱
    張益琿(網名:琿少),多年iOS開發經驗,51CTO學院、CSDN學院簽約講師,麥子學院金牌講師。參與開發iOS平台系列遊戲:瘋狂越獄1-2、應用物通配貨軟體、VIPExam考試庫、證券財經軟體等。曾就職于中國唯品會,主要從事移動端應用開發,對iOS開發、React Native跨平台開發及JavaScript前端開發都擁有豐富的經驗。曾出版《iOS開發實戰:從零基礎到App Store上架》《React Native全教程:移動端跨平台應用開發》等多本編程著作。

目錄
第1章  走進Python世界
  1.1  認識Python
    1.1.1  Python的由來
    1.1.2  Python可以做什麼
  1.2  開發環境準備
    1.2.1  安裝Python語言包
    1.2.2  使用Sublime Text編程工具
  1.3  編程中的基礎概念
    1.3.1  面向過程編程中的基礎概念
    1.3.2  面向對象編程中的基礎概念
  1.4  Python語法初步
    1.4.1  編程風格
    1.4.2  變數與數據類型
    1.4.3  運算符
    1.4.4  流程式控制制語句
    1.4.5  常用的數學函數
    1.4.6  字元串操作相關方法
    1.4.7  列表操作相關方法
    1.4.8  字典操作相關方法
    1.4.9  函數
  1.5  Python面向對象編程
    1.5.1  Python中的類
    1.5.2  類的繼承
    1.5.3  模塊和包的應用
  本章結語
第2章  編程與數學
  2.1  二進位運算
    2.1.1  電腦的思考方式
    2.1.2  電腦中數據的存儲方式
  2.2  靈活使用程序列印數據
    2.2.1  小試牛刀——列印乘法口訣表
    2.2.2  小試牛刀——列印簡單圖形
  2.3  小試牛刀——簡易計算器
    2.3.1  接收用戶輸入
    2.3.2  在終端運行的簡易計算器
  本章結語
第3章  有趣的數字——特殊數
  3.1  阿姆斯特朗數
    3.1.1  什麼是阿姆斯特朗數
    3.1.2  演算法與實現——判斷一個數是否為阿姆斯特朗數
  3.2  自除數
    3.2.1  演算法與實現——篩選自除數
    3.2.2  使用高級循環方法對代碼進行優化
  3.3  完全平方數
    3.3.1  演算法實現——四平方數和定理
    3.3.2  編程實現——解決完全平方數問題
  3.4  強整數
    3.4.1  編程實現——篩選強整數
    3.4.2  代碼改進——強整數檢索上限的尋找
  3.5  迴文數

    3.5.1  編程實現——判斷迴文數
    3.5.2  代碼改進——求迴文素數
  3.6  丑數
    3.6.1  編程實現——如何判斷丑數
    3.6.2  代碼改進——嘗試找到第n個丑數
    3.6.3  代碼改進——解決丑數擴展問題
    3.6.4  演算法改進——使用二分查找第n個丑數
  3.7  完美數
    3.7.1  完美數的故事
    3.7.2  編程實現——如何判斷完美數
  3.8  快樂數
  3.9  順次數
  3.10  步進數
  3.11  中心對稱數
    3.11.1  編程實現——通過字典映射來判斷中心對稱數
    3.11.2  代碼改進——查找指定位數的中心對稱數
    3.11.3  代碼改進——確定中心對稱數的個數
  3.12  累加數
  3.13  易混淆數
  本章結語
第4章  有趣的數字——數字計算
  4.1  二進位相關運算
    4.1.1  編程實現——二進位求和
    4.1.2  編程實現——求十進位數的反碼
    4.1.3  編程實現——計算漢明距離
    4.1.4  代碼改進——求二進位數中1的最長間距
    4.1.5  代碼改進——顛倒二進位數
  4.2  玩轉四則運算
    4.2.1  編程實現——一個數的各位相加
    4.2.2  編程實現——不用加減乘除運算符做加法
    4.2.3  代碼改進——求階乘的尾數
  4.3  數字間的特殊運算
    4.3.1  編程實現——平方根函數
    4.3.2  編程實現——求平方數之和
    4.3.3  編程實現——判斷一個數是否為某數的冪次方
  4.4  計算質數
    4.4.1  編程實現——統計質數個數
    4.4.2  編程實現——深度判斷二進位數中特殊數的個數
  4.5  數字轉換
    4.5.1  編程實現——整數轉換
    4.5.2  編程實現——整數轉換成十六進位數
    4.5.3  編程實現——將分數轉換成小數
    4.5.4  編程實現——羅馬數字轉整數
    4.5.5  代碼改進——整數轉羅馬數字
  本章結語
第5章  圖形世界的點線面
  5.1  有趣的點與線
    5.1.1  編程實現——連點成線
    5.1.2  編程實現——最短時間內訪問所有的點
    5.1.3  編程實現——找到穿過最多點的直線

  5.2  圖形的奧妙
    5.2.1  編程實現——輸出楊輝三角
    5.2.2  代碼改進——嘗試輸出楊輝三角的某一行
    5.2.3  編程實現——規劃一個矩形合理的長和寬
    5.2.4  編程實現——判斷矩形是否重疊
    5.2.5  代碼改進——判斷圓和矩形是否有重疊
    5.2.6  編程實現——統計有效三角形的個數
  5.3  周長與面積
    5.3.1  編程實現——求重疊矩形的面積
    5.3.2  編程實現——找到最小面積的矩形
    5.3.3  編程實現——求三角形的最大周長
    5.3.4  編程實現——求最大的三角形面積
  5.4  凸多邊形
    5.4.1  什麼是凸多邊形
    5.4.2  向量叉乘
    5.4.3  編程實現——判斷凸多邊形
  5.5  三維圖形
    5.5.1  編程實現——計算三維形體的表面積
    5.5.2  代碼改進——求解三維形體的投影面積
  本章結語
第6章  探索字元的世界——字元串操作
  6.1  字元串的排列
    6.1.1  編程實現——格式化字元串
    6.1.2  編程實現——格式化字元串進階
    6.1.3  編程實現——字元串全排列
    6.1.4  編程實現——根據字元出現的頻率進行排序
    6.1.5  編程實現——交換字元
  6.2  字元串的分割
    6.2.1  平衡字元串的分割
    6.2.2  編程實現——分割出迴文字元串
    6.2.3  編程實現——分割字元串獲取最大分數
  6.3  字元串的查找與統計
    6.3.1  編程實現——統計連續字元的長度
    6.3.2  編程實現——檢查字元串中所有的字元是否唯一
    6.3.3  編程實現——查找第一次出現的唯一字元
    6.3.4  編程實現——求最長不含重複字元的子字元串長度
    6.3.5  編程實現——查找常用字元
  6.4  字元串的變換
    6.4.1  編程實現——字元串平移
    6.4.2  編程實現——字元串平移加密
    6.4.3  編程實現——壓縮字元串
    6.4.4  編程實現——字元串解壓
    6.4.5  編程實現——將數字翻譯成字元串
  本章結語
第7章  探索字元的世界——字元串應用
  7.1  單詞提取
    7.1.1  編程實現——統計字元串中的單詞個數
    7.1.2  編程實現——返回字元最後一個單詞的長度
    7.1.3  編程實現——統計最常用的單詞
    7.1.4  編程實現——拆分單詞

    7.1.5  編程實現——計算單詞的最短距離
  7.2  詞句重組
    7.2.1  編程實現——從字元串中返回字母組成單詞
    7.2.2  編程實現——語句逆序
    7.2.3  編程實現——語句重排
    7.2.4  編程實現——單詞前綴替換
  7.3  單詞縮寫
    7.3.1  編程實現——判斷是否有相同的縮寫
    7.3.2  編程實現——列舉單詞所有縮寫形式
  7.4  語句處理
    7.4.1  編程實現——比較語句的差異
    7.4.2  編程實現——分析片語
  7.5  迴文字元串
    7.5.1  編程實現——驗證迴文字元串
    7.5.2  編程實現——構造迴文字元串
    7.5.3  編程實現——找到最長的迴文子字元串
    7.5.4  編程實現——拼接構成迴文串
  7.6  字元串的複雜操作
    7.6.1  編程實現——字元串解碼
    7.6.2  編程實現——構建IP地址
    7.6.3  編程實現——驗證IP地址的有效性
    7.6.4  編程實現——實現模糊匹配
  本章結語
第8章  玩轉數據結構——列表與鏈表
  8.1  獲取列表中的信息
    8.1.1  編程實現——尋找列表平衡點
    8.1.2  編程實現——找到列表中缺失的元素
    8.1.3  代碼改進——尋找所有整數中兩數之差絕對值的最大值
    8.1.4  代碼改進——根據條件獲取列表中的值
    8.1.5  代碼改進——尋找列表中連續元素的和的最大值
    8.1.6  代碼改進——尋找列表中最長的連續遞增序列
    8.1.7  代碼改進——尋找重複次數最多的元素
    8.1.8  代碼改進——尋找列表的凸點
  8.2  列表操作
    8.2.1  編程實現——將列表中的0進行後置
    8.2.2  代碼改進——遞增列表的合併
    8.2.3  代碼改進——向列表中插入元素
    8.2.4  代碼改進——清除重複元素
    8.2.5  代碼改進——列表分隔問題
    8.2.6  代碼改進——對列表進行原地排序
    8.2.7  代碼改進——判斷列表是否有序
    8.2.8  編程實現——構建斐波那契數列
  8.3  列表中元素的和
    8.3.1  編程實現——找到列表中合適的兩個元素
    8.3.2  代碼改進——找出列表中所有滿足條件的三元素組
  8.4  簡單鏈表操作
    8.4.1  編程實現——遍歷鏈表
    8.4.2  代碼改進——刪除鏈表中的節點
    8.4.3  代碼改進——鏈表合併
    8.4.4  代碼改進——鏈表轉整數

  8.5  特殊性質的鏈表
    8.5.1  編程實現——判斷迴文鏈表
    8.5.2  代碼改進——判斷環形鏈表
    8.5.3  鏈表重構——奇偶排列的鏈表
  8.6  高級鏈表操作
    8.6.1  編程實現——鏈表大數求和
    8.6.2  代碼改進——鏈表重排
    8.6.3  代碼改進——對鏈表進行原地排序
    8.6.4  代碼改進——旋轉鏈表
    8.6.5  代碼改進——交換鏈表相鄰的節點
    8.6.6  編程實現——設計鏈表結構
  本章結語
第9章  玩轉數據結構——棧、堆與隊列
  9.1  簡單棧數據結構
    9.1.1  編程實現——設計棧結構
    9.1.2  代碼改進——利用棧清理無效的括弧
    9.1.3  代碼改進——處理平衡括弧
    9.1.4  代碼改進——進行括弧內容逆序
    9.1.5  代碼改進——刪除最外層括弧
    9.1.6  代碼改進——補充缺失的括弧
    9.1.7  代碼改進——遞歸刪除重複的相鄰字元
    9.1.8  代碼改進——實現條件運算符
    9.1.9  代碼改進——簡化文件路徑
  9.2  堆的簡單應用
    9.2.1  什麼是堆
    9.2.2  編程實現——查找高頻單詞
    9.2.3  編程實現——尋找最接近原點的n個點
  9.3  隊列的簡單應用
    9.3.1  編程實現——設計隊列
    9.3.2  代碼改進——設計循環隊列
  本章結語
第10章  玩轉數據結構——樹與圖
  10.1  二叉樹的判定
    10.1.1  編程實現——解析二叉樹的深度
    10.1.2  代碼改進——平衡二叉樹的判定
    10.1.3  代碼改進——對稱二叉樹的判定
    10.1.4  代碼改進——判斷兩棵二叉樹是否相同
    10.1.5  代碼改進——二叉樹相加
    10.1.6  代碼改進——單值二叉樹的判定
  10.2  二叉樹的遍歷
    10.2.1  編程實現——二叉樹的前序遍歷
    10.2.2  代碼改進——二叉樹的中序遍歷和後序遍歷
    10.2.3  代碼改進——根據層序遍歷二叉樹
    10.2.4  代碼改進——垂直遍歷二叉樹
    10.2.5  代碼改進——將二叉樹的遍歷方式推廣到N叉樹
  10.3  構造二叉樹
    10.3.1  編程實現——從遍歷結果構造二叉樹
    10.3.2  代碼改進——通過有序列表構造二叉搜索樹
    10.3.3  代碼改進——在二叉搜索樹中插入元素
  10.4  刪除二叉樹中的節點

    10.4.1  編程實現——在二叉搜索樹中刪除節點
    10.4.2  代碼改進——清除二叉樹中的指定葉子節點
  10.5  獲取二叉樹中存儲的信息
    10.5.1  編程實現——判斷是否為堂兄弟節點
    10.5.2  代碼改進——獲取二叉樹中指定節點值的和
    10.5.3  代碼改進——計算二叉樹路徑的和
    10.5.4  代碼改進——計算樹及所有子樹的平均值
    10.5.5  代碼改進——完全二叉樹的節點個數
  10.6  圖結構的應用
    10.6.1  編程實現——網格中的最近距離
    10.6.2  代碼改進——找到無環圖中所有的路徑
  本章結語
第11章  燒腦遊戲編程—— 熱身篇
  11.1  上樓梯
  11.2  猜數字遊戲
  11.3  套餐組合問題
  11.4  種樹問題
  11.5  算術機器人
  11.6  單行的鍵盤
  11.7  統計運動員的名次
  11.8  分金幣
  11.9  傳繡球遊戲
  11.10  撲克遊戲
  11.11  酒瓶子問題
  11.12  所有可能的木板長度
  11.13  電腦高手
  11.14  燈泡問題
    11.14.1  亮著的燈泡
    11.14.2  不同功能的按鈕
    11.14.3  藍色燈光的燈泡
    11.14.4  翻轉燈泡的狀態
  11.15  寶石鑒定
  11.16  翻轉遊戲
  11.17  井字棋的輸贏判定
  11.18  分發糖果問題
    11.18.1  怎樣分糖果可以盡可能多地使兒童滿足
    11.18.2  給弟弟分糖果
    11.18.3  分發糖果
  11.19  排布硬幣
  11.20  列表變換遊戲
  11.21  國際象棋中的車
  11.22  計算員工的平均工資
  11.23  比賽計分
  11.24  股票買賣的最大盈利
  11.25  單片語合遊戲
  本章結語
第12章  燒腦遊戲編程——進階篇
  12.1  統計戰艦個數
  12.2  田忌賽馬
  12.3  炸彈人遊戲

  12.4  消除數字
  12.5  為賽車加油
  12.6  馬走日
  12.7  最大的島嶼面積
  12.8  跳躍遊戲
  12.9  拿石子遊戲
  12.10  分割繩子
  12.11  載人過河
  12.12  迅捷斥候——提莫
  12.13  水壺問題
  12.14  疊羅漢
  12.15  活字印刷術
  本章結語
第13章  巧用編程工具
  13.1  更加強大的編輯器
    13.1.1  下載與配置VSCode
    13.1.2  進行Python代碼的調試
  13.2  編寫有趣的界面應用
    13.2.1  使用Python開發桌面應用
    13.2.2  進行用戶交互
  13.3  看得見的遊戲
  13.4  各種有趣而強大的Python模塊
    13.4.1  快速搭建網站
    13.4.2  智能爬蟲
  本章結語

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032