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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

543閲覧

elifの最初の部分にエラーが出てます、どうしたらいいのかわかりません;;

mackey...

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2023/02/19 02:32

編集2023/02/19 02:58

実現したいこと

ここに実現したいことを箇条書きで書いてください。
コードがきちんと動作してくれる

前提

Google ColabでのPython学習中につまずいたところがあります。
練習問題的なもので、何種類かの元素の、計算機を作ろうとしたところ、何故かelifの部分とStatusの部分でエラーが出て、原因が
分からなかったので誰か教えてくれる方いませんか?

発生している問題・エラーメッセージ

エラーメッセージ ```File "<tokenize>", line 72 elif int(First_How_Many) = 1 : ^ IndentationError: unindent does not match any outer indentation level ### 該当のソースコード ```Python ソースコード ```First_String = input("足す原子、イオン、化合物の化学式を入力(電荷が+のものから入力、化合物でない場合、個数は別枠に書き込むこと)") String_Status = input("1つ目の化学式の電荷を「2-」や「0」のように入力") if First_String == "H" and int(String_Status) == 0 : Status = "H" elif First_String == "O" and int(String_Status) == 0 : Status == "O" elif First_String == "C" and int(String_Status) == 0 : Status = "C" ### 試したこと 空白を足すなど ### 補足情報(FW/ツールのバージョンなど) Python(Google Colab)です

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

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

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

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

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

meg_

2023/02/19 02:46

> elifの最初の部分にエラーが出てます 何のエラーでしょうか?エラーメッセージは抜粋ではなく全文掲載しましょう。(ユーザー名等は隠していただいて結構です)
meg_

2023/02/19 04:24

既に適切な回答が付いているかと思いますが、それでは解決しませんでしたか?
guest

回答1

0

ベストアンサー

pythonはインデントで構造を定義する言語です。
なので、いいかげんなインデントではうごきません。

以下の式の if と 対応する elif は 正確に同じインデントの場所にある必要があります。
質問のコードでは、 if は 先頭に、elifの前には1つスペースが入っていますので、不正ということです。

python

1if First_String == "H" and int(String_Status) == 0 : 2 Status = "H" 3 elif First_String == "O" and int(String_Status) == 0 : 4 Status == "O" 5 elif First_String == "C" and int(String_Status) == 0 : 6 Status = "C"

pythonではインデントはスペース4つ単位で取ることが標準となっていますので、それに合せて修正するといいでしょう。
このコードで言えば、 エラーにはなりませんが、Statusで始まる行のインデントも揃っているはずです。

投稿2023/02/19 02:40

編集2023/02/19 02:52
TakaiY

総合スコア12765

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問