From e50627c6cc292c88537fa7da95f5f245f76808ef Mon Sep 17 00:00:00 2001 From: yuanjuihuang Date: Fri, 9 Nov 2018 13:15:35 +0800 Subject: [PATCH] Add files via upload --- ...203\347\221\236_parsing_yahoo_movie.ipynb" | 2008 +++++++++++++++++ ...347\224\237\346\251\237\347\216\207.ipynb" | 98 + 2 files changed, 2106 insertions(+) create mode 100644 "09_\351\273\203\345\205\203\347\221\236_parsing_yahoo_movie.ipynb" create mode 100644 "09_\351\273\203\345\205\203\347\221\236_\345\207\272\347\224\237\346\251\237\347\216\207.ipynb" diff --git "a/09_\351\273\203\345\205\203\347\221\236_parsing_yahoo_movie.ipynb" "b/09_\351\273\203\345\205\203\347\221\236_parsing_yahoo_movie.ipynb" new file mode 100644 index 0000000..e347744 --- /dev/null +++ "b/09_\351\273\203\345\205\203\347\221\236_parsing_yahoo_movie.ipynb" @@ -0,0 +1,2008 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "驚奇4超人 The Fantastic Four - Yahoo奇摩電影\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
追蹤我們
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "鬼靈精\n", + "嚇地獄\n", + "邱澤\n", + "
\n", + "訂票客服中心\n", + "戲院總覽\n", + "
\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "\n", + "
\n", + "
\n", + "選擇
片名
\n", + "\n", + "選擇
地區
\n", + "\n", + "
查詢
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "選擇
分類
\n", + "\n", + "選擇
頻道
\n", + "\n", + "
查詢
\n", + "
\n", + "
\n", + "\n", + "
查詢
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "選擇
戲院
\n", + "\n", + "選擇
片名
\n", + "\n", + "選擇
日期
\n", + "\n", + "選擇
場次
\n", + "\n", + "選擇
數量
\n", + "\n", + "
查詢
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
查詢
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + " 電影排行榜\n", + " \n", + "
\n", + "
\n", + "
    \n", + "
  • 台北票房榜
  • \n", + "
  • 全美票房榜
  • \n", + "
  • 預告片榜
  • \n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\"\"\n", + "
\n", + "
\n", + "\n", + " 潛艦獵殺令\n", + "

★《#玩命關頭》《#全面攻佔》金牌團隊聯手打造 

\n", + "

★鐵漢男星《氣象戰》#傑瑞德巴特勒 X 金獎影帝 #蓋瑞歐德曼 

\n", + "

★史詩級 #磅礡潛艦海戰,超震撼 #大型艦對艦battle 

\n", + "

★繼《#獵殺U571》後再創全新經典潛艇電影 

\n", + "

★改編自唐凱思及喬治華萊士創作小說《#砲擊點》

\n", + "

 

\n", + "

在北極海的海底深處,美國潛艦艦長喬葛拉斯(傑瑞德巴特勒 飾)在搜尋一艘落難的美國潛艇時,意外發現俄國即將發生一場軍事政變,眼看就要瓦解世界的秩序。葛拉斯艦長要保護艦上人員的安危,更要捍衛國土,他現在必須集結一支海軍精英特種部隊,前往搭救被綁架的俄國總統,並潛入敵軍的海域阻止第三次世界大戰的爆發。

\n", + "

 

\n", + "

本片雲集重量級演員卡司,陣容包含蘇格蘭鐵漢男星《氣象戰》傑瑞德巴特勒、奧斯卡金獎影帝《最黑暗的時刻》蓋瑞歐德曼、《捍衛任務2:殺神回歸》凡夫俗子、《復仇者聯盟2:奧創紀元》琳達卡迪林尼、以及《007:誰與爭鋒》托比史第文斯,是一部緊張刺激的驚悚片,橫跨海陸場景,台美即將同步上映。 

\n", + "

 

\n", + "
\n", + "
\n", + "\n", + "
統計時間 : 2018-11-03~2018-11-04
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "\"\"\n", + "
\n", + "
\n", + "\n", + " 波希米亞狂想曲\n", + "

★搖滾不死!皇后合唱團傳記電影首登大銀幕 神曲百分百催淚再詮釋
★《波希米亞狂想曲》傳奇主唱佛萊迪墨裘瑞 華麗奇幻一生感動上映
★他們是你偶像的偶像 史上最暢銷搖滾樂團之一 影響世界樂壇近半世紀

《波希米亞狂想曲》以搖滾經典的不敗傳奇「皇后合唱團」為中心環繞;描述他們的音樂以及其樂團的靈魂人物──主唱佛萊迪墨裘瑞(雷米馬利克飾)短暫卻刻骨銘心的一生,如何靠著音樂打破世俗常規,奠定了搖滾樂的基石,成為地球史上最偉大的藝術家之一。

電影透過他們極具原創性與獨樹一格的標誌曲風,和墨裘瑞充滿爆發性且穿透力的歌聲,描述了皇后合唱團的崛起,以及其一路如何成功風靡了全球樂迷的心;然而,在外界看不到的背後,這個看速堅固的經典傳奇卻藏匿著一觸即發的潛在衝突,就如同於墨裘瑞的生活方式一般,快速地被捲入漩渦且即將失去控制。

但即便是在被病魔纏身的狀況之下,墨裘瑞依然乘載著樂迷們的期待,引領著樂團一同於Live Aid的舞台上,成功締造了本世紀最偉大的表演舞台。皇后合唱團華麗且迷幻的心路歷程,不只是鞏固著隊友之間親如家人的情感,以及再次顯示了他們對音樂的執著及血脈傳承。即便到今日,他們的精神也都能夠持續地透過經典,感染並激勵著地球上的每一個角落,包括所有的夢想家及樂迷們。







\n", + "
\n", + "
\n", + "\n", + "
統計時間 : 2018-11-02~2018-11-04
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\"\"\n", + "
\n", + "
\n", + "\n", + " 潛艦獵殺令\n", + "

★《#玩命關頭》《#全面攻佔》金牌團隊聯手打造 

\n", + "

★鐵漢男星《氣象戰》#傑瑞德巴特勒 X 金獎影帝 #蓋瑞歐德曼 

\n", + "

★史詩級 #磅礡潛艦海戰,超震撼 #大型艦對艦battle 

\n", + "

★繼《#獵殺U571》後再創全新經典潛艇電影 

\n", + "

★改編自唐凱思及喬治華萊士創作小說《#砲擊點》

\n", + "

 

\n", + "

在北極海的海底深處,美國潛艦艦長喬葛拉斯(傑瑞德巴特勒 飾)在搜尋一艘落難的美國潛艇時,意外發現俄國即將發生一場軍事政變,眼看就要瓦解世界的秩序。葛拉斯艦長要保護艦上人員的安危,更要捍衛國土,他現在必須集結一支海軍精英特種部隊,前往搭救被綁架的俄國總統,並潛入敵軍的海域阻止第三次世界大戰的爆發。

\n", + "

 

\n", + "

本片雲集重量級演員卡司,陣容包含蘇格蘭鐵漢男星《氣象戰》傑瑞德巴特勒、奧斯卡金獎影帝《最黑暗的時刻》蓋瑞歐德曼、《捍衛任務2:殺神回歸》凡夫俗子、《復仇者聯盟2:奧創紀元》琳達卡迪林尼、以及《007:誰與爭鋒》托比史第文斯,是一部緊張刺激的驚悚片,橫跨海陸場景,台美即將同步上映。 

\n", + "

 

\n", + "
\n", + "
\n", + "\n", + "
統計時間 : 2018-11-09
\n", + "
\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + " 懶人卡\n", + " \n", + "
\n", + "\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + " 你最近瀏覽的電影\n", + " \n", + "
\n", + "
\n", + "
    \n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "\"\"\n", + "\"\"\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\"\"
\n", + "
\n", + "預告片\n", + "時刻表\n", + "放大圖片\n", + "
\n", + "
\n", + "
\n", + "
\n", + "

驚奇4超人

\n", + "

The Fantastic Four

\n", + "
\n", + "
\n", + "\n", + " 動作\n", + " \n", + "
\n", + "
\n", + "\n", + " 科幻\n", + " \n", + "
\n", + "
\n", + "上映日期:2015-08-06\n", + "片  長:01時40分\n", + "發行公司:福斯影業\n", + "IMDb分數:4.3\n", + "導演:\n", + "
\n", + " \n", + " 喬許傳克\n", + "
\n", + "演員:\n", + "
\n", + "傑米貝爾(Jamie Bell)\n", + " 、\n", + " 凱特瑪拉(Kate Mara)\n", + " 、\n", + " 麥爾斯泰勒(Miles Teller)\n", + " 、\n", + " 麥可B喬丹(Michael B. Jordan)\n", + "
\n", + "官方連結:\n", + "https://www.facebook.com/foxmovies.tw\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
期待度
\n", + "
\n", + "
\n", + "

電影已上映,不開放投票

\n", + "(共183人投票)\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
\n", + "
80%
\n", + " 想看\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
滿意度
\n", + "
\n", + "
\n", + "

請給這部電影評分:

\n", + "

尚未開放網友評分

\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + "
\n", + "
\n", + "
\n", + "(共366人投票)\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
2.3
\n", + " 總評分\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + " 最新預告片\n", + " \n", + "
\n", + "
共14支
\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + " 劇情介紹\n", + " \n", + "
\n", + "
\n", + "
\n", + "
\n", + "\n", + " ★ 重新啟動 全新陣容再掀熱潮 今年暑假超級強片首選!
★ 漫威英雄系列漫畫超經典創始作 最歷久不衰之暢銷漫畫 全球熱銷超過45億台幣
★ 《X戰警》系列王牌編劇、製作 親自操刀編劇

福斯影片重金打造全新《驚奇4超人》英雄漫畫鉅作再度搬上大銀幕,改編自漫威漫畫(Marvel)的超人氣經典,描述四位原本生活平凡的年輕人,被傳送至一個處處充滿危機的宇宙時空,從此四人的外貌身形都起了巨大的變化。而這些無法逆轉的身體變化也促使「驚奇4超人」,重新適應學習,並善用他們的超能力,同時併肩合作以抵禦外侮,保護即將遭敵軍破壞殆盡的地球家園,但他們所要對抗的竟是昔日摯友…



\n", + "\n", + "
詳全文
\n", + "\n", + "\n", + "
\n", + "
\n", + "展開劇情簡介\n", + "
\n", + "\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + " 相關文章\n", + " \n", + "
共3則
\n", + "
\n", + "
\n", + "\n", + "\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + " 網友短評\n", + " \n", + "
共129則
\n", + "
\n", + "
\n", + "
\n", + "
\n", + " 排序:\n", + " \n", + "
\n", + "我要寫短評\n", + "
\n", + "
\n", + "
\n", + "
    \n", + "
  • \n", + "
    \n", + "
    \n", + "\n", + "
    \n", + "

    網友評分:

    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    回應評論
    \n", + "檢舉\n", + "
    \n", + "看完感覺真的沒什麼劇情,但是至少還有特效...\n", + "
    發表人:張阿策
    \n", + "
    發表時間:2016-08-14 21:58:53
    \n", + "
    顯示回應(0)
    \n", + "
    \n", + "
    顯示更多內容
    \n", + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    \n", + "
    \n", + "
  • \n", + "
  • \n", + "
    \n", + "
    \n", + "\n", + "
    \n", + "

    網友評分:

    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    回應評論
    \n", + "檢舉\n", + "
    \n", + "还抄襲前幾年一樣的作品,,,真難看,也很幼稚,,敗拖可別學別人出第2集\n", + "
    發表人:man
    \n", + "
    發表時間:2016-07-31 13:07:07
    \n", + "
    顯示回應(0)
    \n", + "
    \n", + "
    顯示更多內容
    \n", + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    \n", + "
    \n", + "
  • \n", + "
  • \n", + "
    \n", + "
    \n", + "\n", + "
    \n", + "

    網友評分:

    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    \n", + "\n", + "\n", + "
    \n", + "
    回應評論
    \n", + "檢舉\n", + "
    \n", + "Wasted my money and time\n", + "
    發表人:Shpqe1雅虎測試
    \n", + "
    發表時間:2016-07-25 18:35:32
    \n", + "
    顯示回應(0)
    \n", + "
    \n", + "
    顯示更多內容
    \n", + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
    \n", + "
    \n", + "
  • \n", + "
\n", + "\n", + "
\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "
\n", + "\n", + "
    \n", + "
  • 與本電影無關、捏造假冒、不實敘述
  • \n", + "
  • 具有廣告性質或大量重複散布
  • \n", + "
  • 相互惡意攻訐、猥褻騷擾、人身攻擊
  • \n", + "
  • 侵犯隱私權、違反智慧財產權、涉及違法情事
  • \n", + "
  • 違背善良風俗
  • \n", + "
\n", + "
確認送出
\n", + "
\"\"
\n", + "\n", + "
\n", + "\n", + "
\n", + "
\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "import json\n", + "import requests\n", + "import pandas as pd \n", + "from bs4 import BeautifulSoup\n", + "import re\n", + "\n", + "req = requests.get('https://movies.yahoo.com.tw/movieinfo_main.html/id=5644?guccounter=1')\n", + "html_doc = req.text\n", + "\n", + "# 以 Beautiful Soup 解析 HTML 程式碼\n", + "soup = BeautifulSoup(html_doc, 'html.parser') \n", + "print (soup) " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "電影名稱 : 驚奇4超人 (The Fantastic Four)\n", + "\n", + "上映日期 : 2015-08-06\n", + "\n", + "類型 : 動作, 科幻\n", + "\n", + "片長 : 01時40分\n", + "\n", + "導演 : 喬許傳克\n", + "\n", + "演員 :\n", + "\n", + "傑米貝爾(Jamie Bell), 凱特瑪拉(Kate Mara), 麥爾斯泰勒(Miles Teller), 麥可B喬丹(Michael B. Jordan)\n", + "\n", + "發行公司 : 福斯影業\n", + "\n", + "官方網站 : https://www.facebook.com/foxmovies.tw\n", + "\n", + "劇情介紹 :\n", + "\n", + "★ 漫威英雄系列漫畫超經典創始作 最歷久不衰之暢銷漫畫 全球熱銷超過45億台幣★ 《X戰警》系列王牌編劇、製作 親自操刀編劇福斯影片重金打造全新《驚奇4超人》英雄漫畫鉅作再度搬上大銀幕,改編自漫威漫畫(Marvel)的超人氣經典,描述四位原本生活平凡的年輕人,被傳送至一個處處充滿危機的宇宙時空,從此四人的外貌身形都起了巨大的變化。而這些無法逆轉的身體變化也促使「驚奇4超人」,重新適應學習,並善用他們的超能力,同時併肩合作以抵禦外侮,保護即將遭敵軍破壞殆盡的地球家園,但他們所要對抗的竟是昔日摯友…\n", + "\n" + ] + } + ], + "source": [ + "movie_intro_info_r = soup.find('div',class_='movie_intro_info_r')\n", + "\n", + "# retrieve movie information\n", + "retrive_result = {\"劇情介紹\":\"\",\"官方網站\":\"\",\"導演\":\"\",\"中文片名\":\"\",\"英文片名\":\"\",\"上映日期\":\"\", \"片  長\":\"\", \"發行公司\":\"\"} \n", + "try:\n", + " retrive_result['中文片名'] = movie_intro_info_r.find('h1').string\n", + "except:\n", + " retrive_result['中文片名'] = \"Not find from h1\"\n", + "\n", + "try:\n", + " retrive_result['英文片名'] = movie_intro_info_r.find('h3').string\n", + "except:\n", + " retrive_result['英文片名'] = \"Not find from h3\"\n", + "\n", + "content_tag = movie_intro_info_r.find_all('span') \n", + "for content in content_tag: \n", + " for key in retrive_result: \n", + " if content.string.find(key) != -1:\n", + " retrive_result[key] = content.string.split(':',1)[1] \n", + " break \n", + " \n", + "#retrieve office web link\n", + "web_link = movie_intro_info_r.find_all('a', attrs={\"class\":\"gabtn\", \"target\":\"_blank\"})\n", + "for lnk in web_link:\n", + " retrive_result['官方網站'] = lnk.string\n", + "\n", + "# retrieve introduce \n", + "gray_infobox_inner = soup.find_all('div', attrs={\"class\":\"gray_infobox_inner\"})\n", + "for gray_infobox in gray_infobox_inner: \n", + " for span in gray_infobox.find(\"span\"): \n", + " retrive_result['劇情介紹'] = str(span).replace(\"
\",\"\")\n", + " retrive_result['劇情介紹'] = retrive_result['劇情介紹'].replace(\"
\",\"\")\n", + "\n", + "# retrieve director name and the list of role name \n", + "role_info_result = []\n", + "movie_intro_list = movie_intro_info_r.find_all('div',class_='movie_intro_list') \n", + "for movie_role in movie_intro_list: \n", + " role_result = movie_role.find_all('a', class_='gabtn') \n", + " if len(role_result) == 0 : \n", + " retrive_result['導演'] = movie_role.string.strip()\n", + " else: \n", + " for rr in role_result: \n", + " role_info_result.append(rr.string)\n", + " \n", + "# retrieve movie type \n", + "movie_type_list = []\n", + "level_name = movie_intro_info_r.find('div', class_='level_name_box') \n", + "for a in level_name.find_all('div', class_='level_name'): \n", + " movie_type = a.find('a') \n", + " movie_type_list.append (re.sub(' ', '', movie_type.string.strip()))\n", + "\n", + "\n", + "text_file = open(\"09.txt\", \"w\")\n", + "text_file.write(\"電影名稱 : {} ({})\\n\".format(retrive_result['中文片名'], retrive_result['英文片名']))\n", + "text_file.write(\"上映日期 : {}\\n\".format(retrive_result['上映日期']))\n", + "text_file.write(\"類型 : {}\\n\".format(\", \".join(movie_type_list)))\n", + "text_file.write(\"片長 : {}\\n\".format(retrive_result['片  長'])) \n", + "text_file.write(\"導演 : {}\\n\".format(retrive_result['導演']))\n", + "text_file.write(\"演員 :\\n{}\\n\".format(\", \".join(role_info_result)))\n", + "text_file.write(\"發行公司 : {}\\n\".format(retrive_result['發行公司']))\n", + "text_file.write(\"官方網站 : {}\\n\".format(retrive_result['官方網站']))\n", + "text_file.write(\"劇情介紹 :\\n{}\\n\".format(retrive_result['劇情介紹']))\n", + "text_file.close()\n", + "\n", + "text_file = open(\"09.txt\", \"r\")\n", + "for line in text_file:\n", + " print (line)\n", + "text_file.close()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git "a/09_\351\273\203\345\205\203\347\221\236_\345\207\272\347\224\237\346\251\237\347\216\207.ipynb" "b/09_\351\273\203\345\205\203\347\221\236_\345\207\272\347\224\237\346\251\237\347\216\207.ipynb" new file mode 100644 index 0000000..96a0ca0 --- /dev/null +++ "b/09_\351\273\203\345\205\203\347\221\236_\345\207\272\347\224\237\346\251\237\347\216\207.ipynb" @@ -0,0 +1,98 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 用Python程式模擬算機率:我們要生女兒\n", + "一對夫婦計劃生孩子生到有女兒才停,或生了三個就停止。 他們會擁有女兒的機率是多少? \n", + "\n", + "第l 步:機率模型
\n", + ">每一個孩子是女孩的機率是0.49 ,是男孩的機率是0.51。 各個孩子的性別是互相獨立的。 \n", + "\n", + "第2 步:分配隨機數字 \n", + ">用兩個數字模擬一個孩子的性別:00, 01, 02, …, 48 =女孩; 49, 50, 51, …, 99 =男孩 \n", + "\n", + "第3 步:模擬生孩子策略 \n", + ">從表A當中讀取一對一對的數字,直到這對夫婦有了女兒,或已有三個孩子。\n", + " \n", + "10次重複中,有9次生女孩。會得到女孩的機率的估計是9/10=0.9。 \n", + "\n", + "如果機率模型正確的話,用數學計算會有女孩的真正機率是0.867。\n", + "(我們的模 擬答案相當接近了。除非這對夫婦運氣很不好,他們應該可以成功擁有一個女 兒。)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 : (22)女+\n", + "2 : (50)男(0)女+\n", + "3 : (2)女+\n", + "4 : (8)女+\n", + "5 : (87)男(49)男(44)女+\n", + "6 : (55)男(21)女+\n", + "7 : (99)男(89)男(65)男\n", + "8 : (0)女+\n", + "9 : (97)男(99)男(47)女+\n", + "10 : (57)男(92)男(11)女+\n", + "10次的機率(顯示過程):0.9\n", + "\n", + "\n", + "1000次的機率(不顯示過程):0.868\n" + ] + } + ], + "source": [ + "import random \n", + "\n", + "def gril_born(n, show_id = False):\n", + " gril_count = 0\n", + " for i in range(n): \n", + " idstr = str(i+1) + \" : \"\n", + " val = random.sample(range(0,100), 3)\n", + " for rn in val: \n", + " idstr += \"(%d)\" % rn \n", + " if rn <= 48 :\n", + " gril_count += 1 \n", + " idstr += \"女+\"\n", + " break\n", + " else: \n", + " idstr += \"男\"\n", + " if show_id : \n", + " print (idstr) \n", + " return round(gril_count / n,4) \n", + "\n", + "print (\"10次的機率(顯示過程):\" + str(gril_born(10,True))) \n", + "print (\"\\n\")\n", + "print (\"1000次的機率(不顯示過程):\" + str (gril_born(1000,False)))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}