前提・実現したいこと
pythonで単純文の結果が出力されません。
1 + 1
実行環境はvscodeです。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーも実行結果も表示されません。
### 該当のソースコード 1 + 1 ```ここに言語名を入力 python3 ### 試したこと anacondaインストール済です。 print("Hello World")などは結果が出力されます。 vscordでは単純文ができないのでしょうか? ここにより詳細な情報を記載してください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
「式文評価したらその結果を(それがNoneでない時)表示する」という振る舞いは
- python を実行ファイルや実行コードを指定せずに起動した時
- jupyter
- ptpython
- bpython
などのようなプログラムの側に実装されている機能です。
逆に、そのような機能を持ったものを対話環境と呼ぶわけですが。
VSCodeに入力したコードをRun-Start DebuggingやTerminal-Run Active Fileなどで実行した場合、それは対話環境ではないモードで実行されています。
そちらの方が普通で、対話環境の方が本来出力されない情報を出力してくれる特殊な実行方法なのです。
普通にコードを実行した時に式文の結果が全部標準出力に書き出されたら、出力がぐちゃぐちゃになるのは明らかです。
例えば、listの末尾の要素を削除する目的でsome_list.pop()
を実行した時に、"末尾の要素がいちいちprintされた"としたらその出力はいったいどうなると思います?
投稿2020/12/29 00:31
総合スコア11231
0
pythonはターミナルでインタプリタモードで動かしたときと、ファイルを読み込んで実行するときで動作が違います。
たとえば、以下のコードです。
python
1a = 1 + 1 2print("start") 3a 4print("-------") 5print(a) 6print("end")
インタプリタモードでは以下になります。
python
1teratail> python filemode.py 2>>> a = 1 + 1 3>>> print("start") 4start 5>>> a 62 7>>> print("-------") 8------- 9>>> print(a) 102 11>>> print("end") 12end
ファイル実行モードでは以下になります。
python
1teratail> python filemode.py 2start 3------- 42 5end
どちらもやることは同じなのですが、インタプリタモードでは3行目の実行結果を印字するのに対して、ファイル実行モードでは印字しないのです。
VScodeでファイルに保存して実行しているので、後者の動きをしています。
投稿2020/12/28 23:51
総合スコア24670
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
print("Hello World")
はプログラムとして正しく構成されているので期待した動作をします。
「"Hello world"という文字列を標準出力に出力せよ」と書いているので。
対して、単なる
1+1
は足してどうするか書いていないので何も出力されません。
出力したいのであれば、同様に
print(1+1)
と書く必要があります。
pythonの実行方式は2通りあって、1つは先に回答された方のような、インタプリタ方式。
これは、何も指定しなくても逐一結果を返してくれます。
なので、printを命令しなくても出力が得られます。
対して、ファイルに一連の手順(プログラム)を記述しそれを実行する方式だと、命令した事しか行われません。
質問者さんが現在行おうとしているのは後者になりますので、やって欲しい事を全て指定する必要があるという事です。
投稿2020/12/28 23:43
総合スコア657
0
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 16:30:00) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> 1+1 2 >>>
pythonのプロンプト上からの結果です。
あなたはそれをどうやって実行したんでしょうか
投稿2020/12/28 23:06
総合スコア88038
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/28 23:18
2020/12/28 23:19
2020/12/28 23:35
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/29 00:37