{"id":211,"date":"2022-04-05T09:00:28","date_gmt":"2022-04-05T00:00:28","guid":{"rendered":"https:\/\/is-ai.jp\/?p=211"},"modified":"2022-04-13T16:39:04","modified_gmt":"2022-04-13T07:39:04","slug":"python%e3%81%a7%e3%83%96%e3%83%a9%e3%83%83%e3%82%af%e3%82%b8%e3%83%a3%e3%83%83%e3%82%af%e3%80%90%e3%82%ab%e3%83%bc%e3%83%89%e3%82%ab%e3%82%a6%e3%83%b3%e3%83%86%e3%82%a3%e3%83%b3%e3%82%b0%e3%80%91","status":"publish","type":"post","link":"https:\/\/is-ai.jp\/?p=211","title":{"rendered":"python\u3067\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3010\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3011"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u52a0\u5473\u3057\u305f\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3044\u307e\u3057\u305f\u3002<\/h4>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u306f\u3058\u3081\u306b<\/h2>\n\n\n\n<p><strong>\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af<\/strong>\u3068\u3044\u3046\u30ab\u30fc\u30c9\u30b2\u30fc\u30e0\u304c\u3042\u308a\u307e\u3059\u3002\u30ab\u30b8\u30ce\u306a\u3093\u304b\u3067\u306f\u5b9a\u756a\u306e\u30b2\u30fc\u30e0\u3067\u6614\u304b\u3089\u6839\u5f37\u3044\u4eba\u6c17\u304c\u3042\u308a\u307e\u3059\u306d\u3002<\/p>\n\n\n\n<p>\u3053\u3046\u3044\u3063\u305f\u30ae\u30e3\u30f3\u30d6\u30eb\u306f\u3001\u78ba\u7387\u7684\u306b\u307f\u308b\u3068\u80f4\u5143\u304c\u7d76\u5bfe\u306b\u52dd\u3064\u3088\u3046\u306b\u3067\u304d\u3066\u3044\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u306b\u304a\u3044\u3066\u306f\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u52dd\u3061\u8d8a\u3059\u3053\u3068\u304c\u53ef\u80fd\u3068\u306a\u308b\u3089\u3057\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306fpython\u3067\u5b9f\u969b\u306b\u52dd\u3066\u308b\u306e\u304b\u3069\u3046\u304b\u3001\u30b7\u30df\u30e5\u30ec\u30fc\u30bf\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3057\u305f\u3002\u305d\u306e\u7d39\u4ecb\u3067\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u306b\u3064\u3044\u3066<\/h2>\n\n\n\n<p>\u77e5\u3063\u3066\u3044\u308b\u65b9\u306f\u8aad\u307f\u98db\u3070\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u5143\u3005\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3068\u3044\u3046\u30b2\u30fc\u30e0\u306f\u9084\u5143\u7387\u304c\u3068\u3066\u3082\u9ad8\u3044\u3067\u3059\u3002\u77ed\u306a\u8ced\u3051\u4e8b\u306e\u9084\u5143\u7387\u306f\u5927\u4f53\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6570\u5024\u3068\u8a00\u308f\u308c\u3066\u3044\u307e\u3059\u3002\u9084\u5143\u7387\u3068\u306f\u3001\u8ced\u3051\u305f\u91d1\u984d\u306e\u3046\u3061\u3001\u3069\u306e\u7a0b\u5ea6\u914d\u5f53\u3068\u3057\u3066\u8fd4\u3063\u3066\u304f\u308b\u304b\u3092\u793a\u3057\u305f\u6570\u5024\u3067\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>\u8ced\u3051\u4e8b<\/strong><\/td><td><strong>\u9084\u5143\u7387<\/strong><\/td><\/tr><tr><td>\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af<\/td><td>99%<\/td><\/tr><tr><td>\u30d1\u30c1\u30f3\u30b3<\/td><td>80~85%<\/td><\/tr><tr><td>\u7af6\u99ac<\/td><td>75~80%<\/td><\/tr><tr><td>\u7af6\u8f2a<\/td><td>75%<\/td><\/tr><tr><td>\u5b9d\u304f\u3058<\/td><td>46%<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4e0a\u8a18\u306e\u8868\u3092\u898b\u3066\u3082\u308f\u304b\u308b\u3088\u3046\u306b\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u306f\u30d7\u30ec\u30a4\u30e4\u30fc\u304c\u6700\u9069\u306a\u884c\u52d5\u3092\u3057\u305f\u5834\u5408\u300199%\u306e\u9084\u5143\u7387\u304c\u898b\u8fbc\u3081\u308b\u30b2\u30fc\u30e0\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3067\u306f\u78ba\u7387\u7684\u306b\u6700\u9069\u306a\u884c\u52d5\u30d1\u30bf\u30fc\u30f3\u304c\u6c7a\u307e\u3063\u3066\u3044\u3066\u3001\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u3068\u547c\u3070\u308c\u3066\u3044\u307e\u3059\u3002\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u306e\u901a\u308a\u306b\u884c\u52d5\u3059\u308c\u3070\u300199%\u306e\u9084\u5143\u7387\u304c\u898b\u8fbc\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/slotsia.com\/ja\/wp-content\/uploads\/blackjack_strategy2_2.jpg\" alt=\"\"\/><figcaption>\u5f15\u7528\u5143 : https:\/\/slotsia.com\/ja\/game-blackjack\/basic-strategy<\/figcaption><\/figure>\n\n\n\n<p>\u3064\u307e\u308a\u3001\u5f8c1.1%\u3069\u3046\u306b\u304b\u8db3\u3057\u3066\u3042\u3052\u308b\u3053\u3068\u3067\u6052\u5e38\u7684\u306b\u52dd\u3064\u3053\u3068\u304c\u3067\u304d\u308b\u306f\u305a\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u306e\u624b\u6cd5\u304c\u4eca\u56de\u306e\u691c\u8a3c\u3067\u3082\u3042\u308b\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3067\u3059\u3002\u3053\u308c\u306f\u30c7\u30c3\u30ad\u5185\u306e\u30ab\u30fc\u30c9\u306e\u5206\u5e03\u3092\u628a\u63e1\u3057\u3066\u3001\u30d7\u30ec\u30a4\u30e4\u30fc\u306b\u6709\u5229\u306a\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u639b\u3051\u91d1\u3092\u5897\u3084\u3059\u3068\u3044\u3046\u624b\u6cd5\u3067\u3059\u3002\u52dd\u3061\u3084\u3059\u3044\u6642\u306b\u591a\u3081\u306b\u8ced\u3051\u308b\u3068\u3044\u3046\u8003\u3048\u306e\u3082\u3068\u751f\u307e\u308c\u305f\u624b\u6cd5\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u305f\u3060\u3057\u5b9f\u969b\u306e\u30ab\u30b8\u30ce\u3067\u306f\u3001\u3053\u306e\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u306f\u7981\u6b62\u3055\u308c\u3066\u3044\u3066\u3001\u30d0\u30ec\u308b\u3068\u51fa\u7981\u306b\u306a\u3063\u305f\u308a\u3001\u52dd\u3061\u5206\u3092\u6ca1\u53ce\u3055\u308c\u305f\u308a\u3059\u308b\u307f\u305f\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u3064<strong>\u307e\u308a\u30ab\u30b8\u30ce\u5074\u304c\u5acc\u304c\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u88cf\u8fd4\u305b\u3070\u52dd\u3066\u308b\u624b\u6cd5\u3067\u3042\u308b\u3068\u3082\u8a00\u3048\u307e\u3059\u3002<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/h2>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6761\u4ef6\u306e\u3082\u3068\u4eca\u56de\u306f\u5b9f\u88c5\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5b9f\u65bd\u6761\u4ef6<\/h4>\n\n\n\n<ul><li>\u8ced\u3051\u91d1\u304c 0 \u307e\u305f\u306f 2\u500d \u306b\u306a\u3063\u305f\u3089\u7d42\u4e86<\/li><li>\u6240\u6301\u91d1\u306f$1,000\u3001\u8ced\u3051\u91d1\u306f$10<\/li><li>\u30c7\u30c3\u30ad\u306f4\u30c7\u30c3\u30ad<\/li><li>1\/4\u4ee5\u4e0b\u306b\u306a\u3063\u305f\u6642\u306b3\u30c7\u30c3\u30ad\u88dc\u5145\u3059\u308b<\/li><li>\u4e0a\u8a18\u306e\u6761\u4ef6\u3067100\u56de\u691c\u8a3c\u3059\u308b<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u306e\u30b5\u30a4\u30c8\u306e\u30b3\u30fc\u30c9\u3092\u53c2\u8003\u306b\u3057\u3001\u30d5\u30a9\u30fc\u30af\u3057\u307e\u3057\u305f\u3002\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-yottagin wp-block-embed-yottagin\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"7pbjvDHRV9\"><a href=\"https:\/\/yottagin.com\/?p=7430\">[Python] \u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3092\u4f5c\u308b<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;[Python] \u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3092\u4f5c\u308b&#8221; &#8212; YottaGin\" src=\"https:\/\/yottagin.com\/?p=7430&#038;embed=true#?secret=7pbjvDHRV9\" data-secret=\"7pbjvDHRV9\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u30b3\u30fc\u30c9<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\"><code>import random\n# Constants\nSUITS = (&#39;\u2661&#39;, &#39;\u25c7&#39;, &#39;\u2660&#39;, &#39;\u2663&#39;)\nRANKS = (&#39;\uff21&#39;, &#39;\uff12&#39;, &#39;\uff13&#39;, &#39;\uff14&#39;, &#39;\uff15&#39;, &#39;\uff16&#39;, &#39;\uff17&#39;, &#39;\uff18&#39;, &#39;\uff19&#39;, &#39;10&#39;, &#39;\uff2a&#39;, &#39;\uff31&#39;, &#39;\uff2b&#39;)\nCARD_VAL = {&#39;\uff12&#39;:2, &#39;\uff13&#39;:3, &#39;\uff14&#39;:4, &#39;\uff15&#39;:5, &#39;\uff16&#39;:6, &#39;\uff17&#39;:7, &#39;\uff18&#39;:8, &#39;\uff19&#39;:9, &#39;10&#39;:10, &#39;\uff2a&#39;:10, &#39;\uff31&#39;:10, &#39;\uff2b&#39;:10, &#39;\uff21&#39;:11}\nCARD_COUNT = True\n\nclass Card(object):\n    def __init__(self, suit, rank):\n        self.suit = suit\n        self.rank = rank\n        \n    def __str__(self):\n        return  self.suit + &#39; &#39; + self.rank\n    \nclass Deck(object):\n    def __init__(self):\n        self.deck = [] \n        self.add_cards(n=4)\n        self.count = 0\n\n    def add_cards(self, n):\n        for i in range(n):\n          for suit in SUITS:\n              for rank in RANKS:\n                  self.deck.append(Card(suit,rank))\n                \n    def shuffle(self):\n        random.shuffle(self.deck)\n\n    def card_counting(self, card):\n        card_value = CARD_VAL[card.rank]\n        if card_value &lt;= 6:\n            self.count += 1\n        \n        elif card_value &gt;= 10:\n          self.count -= 1\n        \n    def deal(self):\n        if len(self.deck) &lt; 54:\n            self.add_cards(n=3)\n            self.shuffle()\n\n        dealt_card = self.deck.pop()\n        self.card_counting(dealt_card)\n        return dealt_card\n    \nclass Hand(object):\n    def __init__(self):\n        self.cards = []\n        self.value = 0\n        self.aces = 0\n    \n    def add_card(self, card):\n        self.cards.append(card)\n        self.value += CARD_VAL[card.rank]\n        if card.rank == &#39;\uff21&#39;:\n            self.aces += 1\n    \n    def adjust_for_ace(self):\n        while self.value &gt; 21 and self.aces:\n            self.value -= 10\n            self.aces -= 1\n            \nclass Money(object):\n    def __init__(self, total):\n        self.player_money = total\n        self.bet = 0\n        self.history = []\n        self.set_history()\n\n    def set_history(self):\n        self.history.append(self.player_money)\n        \n    def player_win(self):\n        self.player_money += self.bet\n        self.set_history()\n    \n    def player_lose(self):\n        self.player_money -= self.bet\n        self.set_history()\n\n    def player_bj(self):\n        self.player_money += self.bet * 1.5\n        self.set_history()\n\n    def dealer_bj(self):\n        self.player_money -= self.bet\n        self.set_history()\n\n        \ndef take_bet(money, deck, bet=10):\n    if CARD_COUNT:\n        if deck.count &gt; 8:\n            bet = bet*5\n\n        elif deck.count &gt; 5:\n            bet = bet*3\n\n    money.bet = bet\n    if money.bet &gt; money.player_money:\n        money.bet = money.player_money\n    \n    \ndef hit(deck, hand):\n    hand.add_card(deck.deal())\n    hand.adjust_for_ace()\n\n\ndef double(deck, hand, money):\n    print(&#39;\u30c0\u30d6\u30eb\u3057\u307e\u3057\u305f\u3002&#39;)\n    hand.add_card(deck.deal())\n    hand.adjust_for_ace()\n    money.bet *= 2\n    \n\ndef show_cards_first(player, dealer):\n    print(&quot;\\n\u30c7\u30a3\u30fc\u30e9\u30fc:&quot;)\n    print(&#39;&#39;, dealer.cards[0])  \n    print(&quot; \uff1f\uff1f&quot;)\n    print(&quot;\\n\u30d7\u30ec\u30fc\u30e4\u30fc:&quot;, *player.cards, sep=&#39;\\n &#39;)\n    \n\ndef show_cards_last(player, dealer):\n    print(&quot;\\n\u30c7\u30a3\u30fc\u30e9\u30fc:&quot;, *dealer.cards, sep=&#39;\\n &#39;)\n    print(&quot;\u30c7\u30a3\u30fc\u30e9\u30fc\u306e\u5408\u8a08:&quot;, dealer.value)\n    print(&quot;\\n\u30d7\u30ec\u30fc\u30e4\u30fc:&quot;, *player.cards, sep=&#39;\\n &#39;)\n    print(&quot;\u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u5408\u8a08&quot;, player.value)\n    \n\ndef player_busts(player, dealer, money):\n    print(&quot;\u30d7\u30ec\u30fc\u30e4\u30fc\u304c\u30d0\u30fc\u30b9\u30c8\u3057\u307e\u3057\u305f\u3002&quot;)\n    money.player_lose()\ndef player_wins(player, dealer, money):\n    print(&quot;\u30d7\u30ec\u30fc\u30e4\u30fc\u304c\u52dd\u3061\u307e\u3057\u305f\u3002&quot;)\n    money.player_win()\ndef dealer_busts(player, dealer, money):\n    print(&quot;\u30c7\u30a3\u30fc\u30e9\u30fc\u304c\u30d0\u30fc\u30b9\u30c8\u3057\u307e\u3057\u305f\u3002&quot;)\n    money.player_win()\ndef dealer_wins(player, dealer, money):\n    print(&quot;\u30c7\u30a3\u30fc\u30e9\u30fc\u304c\u52dd\u3061\u307e\u3057\u305f\u3002&quot;)\n    money.player_lose()\ndef player_bj(player, dealer, money):\n    print(&quot;\u30d7\u30ec\u30fc\u30e4\u30fc\u304cBJ\u3002&quot;)\n    money.player_bj()\ndef dealer_bj(player, dealer, money):\n    print(&quot;\u30c7\u30a3\u30fc\u30e9\u30fc\u304cBJ\u3002&quot;)\n    money.dealer_bj()\ndef push(player, dealer, money):\n    print(&quot;\u30d7\u30c3\u30b7\u30e5\u3067\u3059\u3002&quot;)\n    money.set_history()\n\ndef basic_strategy(deck, player, dealer, money):\n    player_turn = True\n    dealer_value = CARD_VAL[dealer.cards[0].rank]\n\n    while player_turn: \n        if player.value &lt;= 8:\n            hit(deck, player)\n\n        elif player.value &lt;= 9 and len(player.cards)==2 and dealer_value&gt;=3 and dealer_value&lt;=6:\n            double(deck, player, money)\n            player_turn = False\n        \n        elif player.value &lt;= 9:\n            hit(deck, player)\n        \n        elif player.value &lt;= 10 and len(player.cards)==2 and dealer_value&lt;=9:\n            double(deck, player, money)\n            player_turn = False\n        \n        elif player.value &lt;= 10:\n            hit(deck, player)\n\n        elif player.value &lt;= 11 and len(player.cards)==2 and dealer_value&lt;=10:\n            double(deck, player, money)\n            player_turn = False\n        \n        elif player.value &lt;= 11:\n            hit(deck, player)\n\n        elif player.value &lt;= 12 and dealer_value&gt;=4 and dealer_value&lt;=6:\n            player_turn = False\n          \n        elif player.value &lt;= 12:\n            hit(deck, player)\n\n        elif player.value &lt;= 16 and dealer_value&lt;=6:\n            player_turn = False\n          \n        elif player.value &lt;= 16:\n            hit(deck, player)\n\n        else:\n            player_turn = False\n\ndef main():\n    player_turn = True\n    fundage = 1000\n    count_game = 0\n    count_win = 0\n    count_tie = 0\n    money = Money(fundage)  \n    deck = Deck()\n    deck.shuffle()\n\n    while True:\n        count_game += 1\n        print(&#39;\\n\u30ab\u30fc\u30c9\u3092\u30b7\u30e3\u30c3\u30d5\u30eb\u3057\u307e\u3059\u3002&#39;)\n        \n        # \u8ced\u3051\u308b\n        print(&#39;\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c8: &#39;, deck.count)\n        take_bet(money, deck, 10)\n        \n        print(&#39;\\n\u30ab\u30fc\u30c9\u3092\u914d\u308a\u307e\u3059\u3002&#39;)\n        player_hand = Hand()\n        player_hand.add_card(deck.deal())\n        player_hand.add_card(deck.deal())\n        \n        dealer_hand = Hand()\n        dealer_hand.add_card(deck.deal())\n        dealer_hand.add_card(deck.deal())\n\n        # BJ\u306e\u51e6\u7406\n        if player_hand.value == 21 and dealer_hand.value != 21:\n            player_bj(player_hand, dealer_hand, money)\n            count_win += 1\n\n        elif player_hand.value != 21 and dealer_hand.value == 21:\n            dealer_bj(player_hand, dealer_hand, money)\n          \n        elif player_hand.value == 21 and dealer_hand.value == 21:\n            push(player_hand, dealer_hand, money)\n            count_tie += 1\n        \n        else:\n            print(&#39;\\n\u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u30bf\u30fc\u30f3\u3067\u3059\u3002&#39;)\n            # \u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\n            basic_strategy(deck, player_hand, dealer_hand, money)\n            show_cards_first(player_hand, dealer_hand)\n\n            if player_hand.value &gt; 21:\n                player_busts(player_hand, dealer_hand, money)\n            \n            # \u30d7\u30ec\u30fc\u30e4\u30fc\u304c\u30d0\u30fc\u30b9\u30c8\u3057\u306a\u3051\u308c\u3070\u30c7\u30a3\u30fc\u30e9\u30fc\u306e\u30bf\u30fc\u30f3\u3002        \n            if player_hand.value &lt;= 21:\n                print(&#39;\\n\u30c7\u30a3\u30fc\u30e9\u30fc\u306e\u30bf\u30fc\u30f3\u3067\u3059\u3002&#39;)\n                \n                # \u30c7\u30a3\u30fc\u30e9\u30fc\u306f17\u4ee5\u4e0a\u306b\u306a\u3089\u306a\u3051\u308c\u3070\u30ab\u30fc\u30c9\u3092\u5f15\u304d\u7d9a\u3051\u308b\u3002\n                while dealer_hand.value &lt; 17:\n                    hit(deck, dealer_hand)\n                    \n                # \u30ab\u30fc\u30c9\u3092\u898b\u305b\u308b\u3002\n                show_cards_last(player_hand,dealer_hand) \n                # \u30c7\u30a3\u30fc\u30e9\u304c\u30d0\u30fc\u30b9\u30c8\n                if dealer_hand.value &gt; 21:\n                    dealer_busts(player_hand, dealer_hand, money)\n                    count_win += 1\n                # \u30c7\u30a3\u30fc\u30e9\u30fc\u306e\u52dd\u3061\n                elif dealer_hand.value &gt; player_hand.value:\n                    dealer_wins(player_hand, dealer_hand, money)\n                # \u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u52dd\u3061\n                elif dealer_hand.value &lt; player_hand.value:\n                    player_wins(player_hand, dealer_hand, money)\n                    count_win += 1\n                # \u5f15\u304d\u5206\u3051\n                else:\n                    push(player_hand, dealer_hand, money)\n                    count_tie += 1\n        \n        # \u30d7\u30ec\u30fc\u30e4\u30fc\u7834\u7523\u3067\u30b2\u30fc\u30e0\u7d42\u4e86\n        if money.player_money &lt;= 0:\n            print(&#39;\u30d7\u30ec\u30fc\u30e4\u30fc\u306f\u7834\u7523\u3057\u307e\u3057\u305f\u3002&#39;)\n            break\n        # \u30d7\u30ec\u30a4\u30e4\u30fc\u306e\u52dd\u3061\u3067\u30b2\u30fc\u30e0\u7d42\u4e86\n        if money.player_money &gt;= fundage*2:\n            print(&#39;\u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u8cc7\u7523\u304c\u76ee\u6a19\u5024\u306b\u5230\u9054\u3057\u307e\u3057\u305f\u3002&#39;)\n            break\n        # \u6b8b\u91d1\u306e\u8868\u793a    \n        print(f&quot;\\n\u30d7\u30ec\u30fc\u30e4\u30fc\u306e\u6b8b\u91d1\u306f\u3001{money.player_money}\u3067\u3059\u3002&quot;)\n    \n    # \u52dd\u7387\u306e\u8868\u793a\n    print(&#39;\\n\u3042\u306a\u305f\u306e\u5bfe\u6226\u6570\u306f{}\u3067\u3057\u305f\u3002&#39;.format(count_game))\n    print(&#39;\\n\u3042\u306a\u305f\u306e\u52dd\u7387\u306f{:.0%}\u3067\u3057\u305f\u3002&#39;.format((count_win + 0.5*count_tie) \/ count_game))\n    make_plot_figure(money)\n\ndef make_plot_figure(money):\n    import numpy as np\n    import matplotlib.pyplot as plt\n    import japanize_matplotlib\n \n    # \u6298\u308c\u7dda\u30b0\u30e9\u30d5\u3092\u51fa\u529b\n    left = np.array(list(range(len(money.history))))\n    height = np.array(money.history)\n    plt.plot(left, height,)\n    plt.title(&quot;BJ \u30b7\u30df\u30e5\u30ec\u30fc\u30bf&quot;)\n    plt.xlabel(&quot;\u8a66\u884c\u56de\u6570&quot;)\n    plt.ylabel(&quot;\u6240\u6301\u91d1 ($)&quot;)\n    plt.grid(True)\n    plt.show()\n\nif __name__ == &#39;__main__&#39;:\n    main()\n<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u7d50\u679c<\/h2>\n\n\n\n<p>100\u56de\u8a66\u3057\u305f\u7d50\u679c\u3001\uff12\u500d\u306b\u306a\u3063\u305f\u306e\u306f27\u56de\u3067\u52dd\u7387\u306f27%\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" data-src=\"https:\/\/is-ai.jp\/wp-content\/uploads\/2022\/03\/logs.gif\" alt=\"\" class=\"wp-image-214 lazyload\" width=\"455\" height=\"341\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u8ced\u3051\u91d1\u3092\u624b\u6301\u3061\u306e\uff11\uff05\u3001\u30ab\u30a6\u30f3\u30c8\uff15\u4ee5\u4e0a\u306e\u6642\u306b\u8ced\u3051\u91d1\u3092\uff12\u500d\u3001\u30ab\u30a6\u30f3\u30c8\uff18\u4ee5\u4e0a\u306e\u6642\u306b\u8ced\u3051\u91d1\u3092\uff13\u500d\u306b\u3057\u307e\u3057\u305f\u3002\u3053\u3053\u3089\u3078\u3093\u306e\u6700\u9069\u306a\u5024\u3082\u6c42\u3081\u3089\u308c\u305d\u3046\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p>\u6bd4\u8f03\u306e\u305f\u3081\u306b\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u884c\u308f\u306a\u304b\u3063\u305f\u5834\u5408\u3001\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u306e\u307f\u3067\u7acb\u3061\u5411\u304b\u3063\u305f\u5834\u5408\u3082\u30ab\u30a6\u30f3\u30c8\u3057\u3066\u307f\u305f\u3068\u3053\u308d\u3001\u6240\u6301\u91d1\u304c\uff12\u500d\u306b\u306a\u3063\u305f\u306e\u306f\u4e00\u56de\u3060\u3051\u3067\u52dd\u7387\u306f1\uff05\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" data-src=\"https:\/\/is-ai.jp\/wp-content\/uploads\/2022\/03\/non_logs.gif\" alt=\"\" class=\"wp-image-215 lazyload\" width=\"448\" height=\"336\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u6761\u4ef6\u3067\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u884c\u30463\u5272\u7a0b\u5ea6\u306e\u52dd\u7387\u304c\u898b\u8fbc\u3081\u307e\u3057\u305f\u3002\u307e\u305f\u3001\u5f8c\u304b\u3089\u77e5\u3063\u305f\u306e\u3067\u3059\u304c A \u304c\u7d61\u3080\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u3082\u3042\u308b\u307f\u305f\u3044\u3067\u3001\u3053\u3053\u3092\u8003\u616e\u3059\u308b\u3068\u3082\u3046\u5c11\u3057\u52dd\u7387\u304c\u306e\u3073\u308b\u306e\u304b\u306a\uff1f\u3068\u3044\u3063\u305f\u611f\u3058\u3067\u3059\u306d\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u304a\u308f\u308a\u306b<\/h2>\n\n\n\n<p>\u4ee5\u524d\u304b\u3089\u6c17\u306b\u306a\u3063\u3066\u3044\u305f\u3001\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u3059\u308b\u3068\u3069\u306e\u7a0b\u5ea6\u52dd\u3066\u308b\u306e\uff1f\u3068\u3044\u3046\u3053\u3068\u3092\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3057\u3066\u3044\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306e\u7d50\u679c\u3067\u306f\u3001\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u3060\u3051\u3088\u308a\u306f\u52dd\u3066\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u304c\u7d76\u5bfe\u306b\u52dd\u3066\u308b\u3088\u3046\u306b\u306a\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u3002\u3068\u3044\u3063\u305f\u7d50\u679c\u3067\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u8ced\u3051\u65b9\u3084\u3001\u30d9\u30fc\u30b7\u30c3\u30af\u30b9\u30c8\u30e9\u30c6\u30b8\u30fc\u3092\u898b\u76f4\u305b\u3070\u3082\u3046\u5c11\u3057\u52dd\u7387\u306f\u4e0a\u304c\u308a\u305d\u3046\u3067\u3059\u304c\u3001\u305d\u308c\u3067\u3082\u52dd\u7387\u306f\uff15\u5272\u306b\u5c4a\u304f\u304b\u3069\u3046\u304b\u304e\u308a\u304e\u308a\u3068\u3044\u3063\u305f\u611f\u3058\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n\n\n\n<p>\u3084\u3063\u3071\u308a\u30ab\u30b8\u30ce\u306f\u96f0\u56f2\u6c17\u3092\u697d\u3057\u3080\u5834\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u306d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30ab\u30fc\u30c9\u30ab\u30a6\u30f3\u30c6\u30a3\u30f3\u30b0\u3092\u52a0\u5473\u3057\u305f\u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u884c\u3044\u307e\u3057\u305f\u3002 \u306f\u3058\u3081\u306b \u30d6\u30e9\u30c3\u30af\u30b8\u30e3\u30c3\u30af\u3068\u3044\u3046\u30ab\u30fc\u30c9\u30b2\u30fc\u30e0\u304c\u3042\u308a\u307e\u3059\u3002\u30ab\u30b8\u30ce\u306a\u3093\u304b\u3067\u306f\u5b9a\u756a\u306e\u30b2\u30fc\u30e0\u3067\u6614\u304b\u3089\u6839\u5f37\u3044\u4eba\u6c17\u304c\u3042\u308a\u307e\u3059\u306d\u3002 \u3053\u3046\u3044\u3063\u305f\u30ae\u30e3\u30f3\u30d6\u30eb\u306f\u2026<\/p>\n","protected":false},"author":1,"featured_media":217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[7,17],"_links":{"self":[{"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/posts\/211"}],"collection":[{"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/is-ai.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=211"}],"version-history":[{"count":3,"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/posts\/211\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/posts\/211\/revisions\/216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/is-ai.jp\/index.php?rest_route=\/wp\/v2\/media\/217"}],"wp:attachment":[{"href":"https:\/\/is-ai.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/is-ai.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/is-ai.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}