質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4768閲覧

(教えて下さい)Indentation errorを解決出来ません。

YuheiFujioka

総合スコア17

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2016/07/02 04:57

編集2016/07/02 08:19

Pointメソッド中のif文(line21)にIndentation error(Unexpected indent)が表示され、先頭の位置を変えてみたのですが、errorが消えません。対処法と可能であれば原因をご教示頂けますと幸いです。

-----errorの内容-----

if sum >= 21:
^
IndentationError: unexpected indent

----error発生部分ソースコード----

class Blackjack(self, deck.self): ##Point method def Point(self): sum = 0 sorted((deck.self), reverse = True) for i in range(len(deck.self)): if deck.self == 11 or 12 or 13: sum += 10 elif deck.self == 1: sum += 11 ##error部分 if sum >= 21: sum -=10 else: sum += deck.self

----ソースコード全体----

class Blackjack(self, deck.self): ###init method def __init__(self,deck): deck.self = deck ###HIt method def HIt(self): return random.randint(1,13) ###Dealer method def Dealer(self): ##Point method def Point(self): sum = 0 sorted((deck.self), reverse = True) for i in range(len(deck.self)): if deck.self == 11 or 12 or 13: sum += 10 elif deck.self == 1: sum += 11 if sum >= 21: sum -=10 else: sum += deck.self ###Hit_or_Stand method def Hit_or_stand(self, Point, Hit): if Point <=16: deck.self.append(Hit) else: pass return sum

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

attakei

2016/07/02 05:04

ヘルプ等を参考にコードをコードブロックで囲んでください。特にPythonのようにインデントがコードを構成する言語だと、コードブロックで囲まれていない場合は構造の理解が非常にしづらくなり、回答がつきにくくなります。
archiver

2016/07/02 05:07

ソースコードを```(バッククォート3つ)で括ってください。ソースコードが成型され、見やすくなります。ましてや"Indentation Error"とインデントに関わるエラーですので、きちんと提示してもらえないと回答を得られにくいですよ。
attakei

2016/07/02 05:52

コードブロックで囲んでもらえましたが、一番最初にIndentation Errorが発生した時のコードにしてもらった方が根本的な部分の解決につながりやすいかもしれません。また、if文に残っている強調表示の除去もお願いします
guest

回答1

0

ベストアンサー

読む限り、sum += 11の部分からさらにインデントが入っているのが原因だと思います。

やりたいことを深読みする分には、sum += 11と揃えれば解消されるかと。

python

1# 抜粋 2 if deck.self == 11 or 12 or 13: 3 sum += 10 4 elif deck.self == 1: 5 sum += 11 6 if sum >= 21: 7 sum -=10 8 else: 9 sum += deck.self

以下余談

コードとして読む限り、インデントがバラバラだったりで動くまでがしんどそうなので、
一度インデント幅を揃えたりしておいたほうが見通しが良くなると思います。
(ここへの投稿時にそうなっただけであれば、完全な蛇足となります)

投稿2016/07/02 09:22

編集2016/07/02 09:23
attakei

総合スコア2738

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YuheiFujioka

2016/07/02 09:49

ご助言ありがとうございます。 sum+=11のインデントと揃えたら動きました。 他の部分のインデントも揃えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問