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

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

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

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

Q&A

解決済

1回答

1431閲覧

実行せずに下に下がる方法

DAPHNIA

総合スコア5

Python

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

0グッド

0クリップ

投稿2020/10/17 07:46

こんにちは。

現在Pythonについて学習しているのですが、
Ipythonを使う上で、
例えば、
for I in [1,2,3]
if ......

などと、下げて実行するにはどうしたら良いですか。
Enterを押してしまうと実行されてしまうので、実行されずに下の下がる方法が
知りたいです。
初歩的な質問ですが
どなたかご回答よろしくお願いします。

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

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

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

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

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

toast-uz

2020/10/17 07:54

OSは何でしょうか?
DAPHNIA

2020/10/17 07:55

Windowsです
toast-uz

2020/10/17 07:59

すぐに試せないのですが、shift + enter、ctrl + enter 、alt + enterなどは、試されたでしょうか?
DAPHNIA

2020/10/17 08:00

試しましたが、できませんでした泣
DAPHNIA

2020/10/17 08:02

Ipythonだとtabが色々なファイルなどの項目になってしまっているので、できないです
DAPHNIA

2020/10/17 08:05

いま色々試していたら [B と末端に置くことで 下げられるようになりました。 この [B はどうゆう意味でしょうか
toast-uz

2020/10/17 08:05

正確には for I in [1,2,3]: と「:」が入るべきなのですが、それでも挙動は変わりませんか?
DAPHNIA

2020/10/17 08:07

できました! ありがとうございます????
guest

回答1

0

ベストアンサー

Ipythonを使う上で、

例えば、
for I in [1,2,3]
if ......

などと、下げて実行するにはどうしたら良いですか。

Pythonの文法通りに記述すれば自動でインデントが設定されます。
イメージ説明

※画像は IDLE Shell での例ですがターミナルでも同様です。

投稿2020/10/17 08:04

編集2020/10/17 08:06
meg_

総合スコア10602

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

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

DAPHNIA

2020/10/17 08:06

ありがとうございます! ちなみに、[Bでもできたのですが、なぜこうなるのかわかりますか?
meg_

2020/10/17 08:10

1つ訂正です。ターミナルの場合はインデントは自動ではされないかもです。
toast-uz

2020/10/17 08:11

カッコが閉じていない状態で改行するのは、文が次の行に継続する、という文法になっています
meg_

2020/10/17 08:12

それはコードの途中で改行しているだけだと思います。Enterを押してもコードは実行されませんよね?
DAPHNIA

2020/10/17 08:15

たしかに、実行されないです。
toast-uz

2020/10/17 08:16

a = とかで改行すると、エラーが出ると思います。複数行に渡る文が許可されるのは、文法上限られています。
DAPHNIA

2020/10/17 08:19

また、例えば for i in [1,2,3,...] if i<2... print(....) elif i<3 print(....) のように、ifの後のelif を行う際には、deleteキーで下がる以外に方法はないのでしょうか。 いちいち、deleteで下がっていては大変じゃないのかなと思いました。 もしもそのような方法があったら教えていただけると幸いです。 ご回答よろしくお願いします。
meg_

2020/10/17 08:21

DAPHNIAさんへ 文の途中で改行するのは1行に収まらないほど長い場合に、改行して読みやすくするためです。 まずは途中で改行せずにコードを書いた方が良いです。 インデントが付くはずのところで付かないのは書き方が間違っているので、そのときはコードをよく見直してください。
DAPHNIA

2020/10/17 08:27

megさん 本来なら、ifとelifのところにインデントがあります。 ipythonは自動でインデントを行ってくれるのでありがたいのですが、 そのまま下に行ってしまってもいいのでしょうか。 例えば □□if i<2 □□□print(....) □□elif i<3 □□□print(....) みたいな感じです。 そのままenterを押していったら、階段のようになってしまいますよね。 そうではなく、上記のようにやるにはどうしたらよいでしょうか。 そのようなことはdeleteを使わないといけないでしょうか。 少々日本語がおかしいですが、ご回答よろしくお願いします。
meg_

2020/10/17 08:30

前回のコメントは > ifの後のelif を行う際には、deleteキーで下がる以外に方法はないのでしょうか。 に対するコメントではないです。 コメントを送信するタイミングの問題でお互いのコメントが前後してしまったものです。
DAPHNIA

2020/10/17 08:32

あ、ごめんなさい! タイミングを間違えてしまいました。 megさんは上記の方法をご存じですか?? もしご存じでしたら ご回答よろしくお願いします。
meg_

2020/10/17 08:35

elseなどを入力したいときには自分でBackSpaceキーを押して余分なインデントを消しています。 コンピュータにはどのタイミングでif内の入力から抜けたいのかなど分かりませんからね。
DAPHNIA

2020/10/17 08:38

toast-uzさん、meg_さん わざわざ、初歩的な質問にご回答ありがとうございます! とても分かりやすかったです! ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問